correct.txt:作业的正确答案
answer-standardtxt:作业模板,供学生下载使用
grade.txt:交作业名单与成绩统计
④ grade-count.sh:统计交作业名单的脚本,由系统按时执行,权限为777.
⑤ grade-calculate.sh:自动批改符合格式的作业的脚本,由教师自己执行,属于teacher组,权限为750。
⑥ grade_log.log:记录grade-count.sh脚本执行的情况。
4) 统计交作业名单脚本设计说明
该脚本名称为grade-count.sh
① 利用命令 date "+%Y-%m-%d %H:%M:%S
记录统计的时间
② 利用正则表达式将作业文件名划分为姓名和学号,如stu1-2194411245.txt就被划分为stu1和2194411245。
③ 利用for循环统计homework目录下的所有文件,每有一个文件,count就+1,最后得到所有的交作业学生信息和总数
然后再利用crond进程定时执行该脚本,这里我设置为每天的23:59统计一次交作业名单
而且记录了脚本执行日志。
5) 自动批改指定格式的作业脚本设计说明
该脚本名称为grade-calculate.sh
这里我测试使用的作业格式如下:
其中开头的#standard template用于区别是否使用指定格式的作业,每一道题都以数字+.+答案为格式,因此可以设计脚本如下:
① 遍历homework目录下的文件
② 对于每一个文件,遍历十次
③ 利用文本分析工具awk,将学生作业每一行的答案解析出:以.分割序号和答案,将第二个参数打印赋给answer。
④ 同理解析标准答案的值correct,如果correct=answer,则该作业加十分
⑤ 将遍历得到的分数利用流编辑器sed加入到每一个学生作业记录的后面
四、 配置文件关键修改处的说明及运行情况
② 学生教师服务
0) samba服务器配置
[homework]
comment = this folder is for students to submmit homework
path = /home/class/homework
valid users = @os
read only = no
public = no
create mask = 0750
force create mode = 0750
[learning]
comment = this folder is for teacher to share learning material
path = /home/class/learning
valid users = @os
read only = no
admin users = @teacher
public = no
create mask = 0750
force create mode = 0750
[grade]
comment = this folder is for teacher to register student grades
path = /home/class/grade
valid users = @os
read only = no
admin users = @teacher
public = no
create mask = 0750
force create mode = 0750:
1) 用户组和用户
cat /etc/group
2) /home/class/下相关文件
tree /home/class/
3) 学生上传作业(Linux系统下)
以stu1学生上传为例
学生可以在/home/class/grade****下载作业模板
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FdzLt6kY-1648305528723)(http://r9awog79x.hn-bkt.clouddn.com/image-20220326222858918.png)]
进入homework目录
查看当前作业目录
上传作业成功
无法下载他人作业
4) 学生上传作业(Windows系统下)——接下来大部分操作都在Windows下进行
在Windows系统进入[\192.168.114.130](file://192.168.114.130),输入账号密码
进入到共享文件夹下
上传作业
5) 查看脚本统计交作业名单
出于测试的目的,这里我将执行时间改成了18:35
在Windows系统进入\192.168.114.130
进入grade文件夹可以看到统计名单grade.txt
也可以下载到自己的电脑中
6) 教师使用脚本批改指定格式的作业
在Linux系统下启动grade-calculate.sh脚本
可以看到自动批改后的交作业名单
因为stu3没有按照格式提交作业,所以系统没有计算他的成绩
7) 教师手动查看学生作业并批改
教师可以查看学生的作业
看完以后,可以手动输入stu3的成绩
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!