Unix试卷

来源:互联网 发布:c语言void的用法 编辑:程序博客网 时间:2024/04/28 05:42

河南城建学院     学年第   学期期终考试

《UNIX/Linux操作系统及应用》试题样卷

      专业            班使用         201 年  月

题 号

总  分

得 分

 

 

 

 

 

 

 

阅卷人

 

 

 

 

 

 

 

本套试卷共  3  页

一. 准备与说明(10分)

A1. 以超级用户登录。用户名为root,密码为123456

A2. 定义变量name_id,在此基础上,再定义一个名为dname_id的变量,使其值为变量name_id的值前冠一个“d”字符,然后也将它们作为环境变量传递到下一级。

name_id结构为:name为考生名字的汉语拼音声母组合(小写中间无空格),id为考生学号。比如,有张三(zhang san),其学号为083412369,则name_id=zhs083412369。由此可得dname_id的值为dzhs083412369,即dname_id=dzhs083412369

验证变量设置的正确性后,创建名为$dname_id的目录并进入其中,准备开始答题。

[root@localhost~]# export name_id=whr083413136

[root@localhost~]#export dname_id=dwhr083413136

[root@localhost~]#echo $name_id    #验证变量的正确性

whr083413136

[root@localhost~]#echo $dame_id

dwhr083413136

[root@localhost~]# mkdir $dname_id

[root@localhost~]#cd $dname_id

[root@haorandwhr083413136]#

A3. 启动script命令,开始考试。方法是(首次使用时)

     script  ~/$name_id      (或     script  ~/zhs083412369

[root@haorandwhr083413136]# script  ~/$name_id

建议使用前者。这意为着,~/$name_id为你的答案文件,请牢记它的意义和位置。

在script启动后便可进行答题,之后你的所有键盘输入和由输入引起的各种输出都将被自动记入该答案文件。答题完毕后,按Ctrl_D退出script,结束答题。

若在答题过程中意外退出了script,可以使用

     script  -a  ~/$name_id (或     script -a ~/zhs083412369

重新进入,继续答题。(请注意~/$name_id或~/zhs081412399的意义或确切位置,也要注意自己该在的位置,确保能正常考试,并在考试结束后,能正常交卷。)

以后称文件~/$name_id为答案文件,目录~/$dname_id为考试目录

A4. 首先按照临时文件产生与使用方法,以$name_id.XXXXXX为 命名方案,在考试目录内产生一个临时文件,请记住该临时文件名,并把它的名字赋给环境变量TMP_F,以后还要用到它;通过输出重定向将系统的当前日期、时间和name_id及dname_id值追加到该临时文件内(说明:若你不能按系统提供的方法创建临时文件,那就用你会的方法创建一个(与你考试所用的所有文件名不同)文件用作临时文件,但要扣除5分。

[root@haorandwhr083413136]# mktemp $name_id.XXXXXX

whr083413136.LvsKEe

[root@haorandwhr083413136]# export TEM_F=whr083413136.LvsKEe

A5. 在解答“二.填空题”时,每个题开始答题前,要按以下方式先写一注释标记,

     # 题号.

表明是第几题,然后将填空题的答案填写在同一行的后边,若有多个答案要填写在同一行内,并用分号“;”分隔。对于第1小题来说,应输入内容如下

     # 1. K.I.S.S

对于其它题目,则只需做题号标记后回车输入所需要操作命令即可

A6. 考试过程中,不得东张西望. 不得使用网络或U盘等移动存储,不得参考Windows系统的任何信息,但可以参阅Linux/Unix系统内包括在线文档在内的任何文档。但非考试的查询信息等应与答题在不同的终端或窗口上分别进行,避免扰乱答题屏幕或答案文件。

A7. 不要在纸质卷面上答题。纸质卷面上只能填写“班级”、“学号”、“姓名”和“机号”信息,其它信息将被视为舞弊标记。

A8. 答题彻底完毕后,配通Windows和Linux/Unix之间的网络,并通过ftp将自己答题的所有内容及产生的信息(包括答案文件和考试目录及其内容等等等等)打包后下载到Windows系统的最后一个盘的根目录内。关于交卷相关的规定可参见“六.交卷”部分。

A9. 在答题过程中,要对所有每次编辑、修改过的每个程序、脚本和文件等使用cat 命令显示其内容,以便阅卷时参考。

 

二. 填空题(每空1分,共30分)

1. Unix的哲学,一言以蔽之,可描述为___________K.I.S.S______________________。

2. Unix/Linux可以用数字表示的运行级有___0 1 2 3 4 5 6_____________,使用命令__________init_____可以在不同的运行级间切换,使用该命令重启系统完整命令字符串为______init 6_____。

3. UNIX/Linux系统中有两大类用户,它们分别是超级用户和和普通用户,默认情况下,它们的成功登录后的提示符分别是_______#________和_______$_______。

4. 在终端字符界面(TUI)下用户退出系统(签退)命令有多种,试写出其中的两种:_________exit______、______logout_______。

5. 若有一个C语言程序myc.c,编译它命令是_______gcc -o myc.c______,若在编译过程出现了很多错误,将编译错误改道到c.error文件的命令是_________    gcc -o myc.c > c.error2>&1 ___。

6. Linux/Unix系统字符界面下的在线帮助命令是_____man_____;用于对系统调用read进行帮助的完成命令串是____________man read____________________。

 

7. 假设命令ps -e|grep bash 的输出中有以下内容:

1394 tty1 … … … bash

1398 tty2 … … … bash

1400 tty3 … … … bash

1416 tty5 … … … bash

已知用户工作的终端在F3上,命令tty的输出为__1400 tty3 … … … bash _。终止工作在F2上的bash进程的完整命令字符串是______kill -9 1398________;终止所有名为someproc进程的完整命令字符串是____kill -9 someproc_______。

8. 检查系统中是否安装sysstat软件包的命令是__rpm-qa | grep sysstat_________,查询bash命令归属的软件包的完整命令字符串是____rpm -qf /bin/bash______。若满足任何所需条件,安装vsftpd软件包的完整命令是______yum install vsftpd______。

9. 已知一网络节点www.hncj.edu.cn,若要测试你的主机与该节点是否通,并限定只发9个包,完整命令字符串是_______ping -t 9 www.hncj.edu.cn_______,若要查询本地主机名信息可使用的完整命令字符串为_________hostname______________。查询本地主机IP地址等配置参数信息可使用命令____________ifconfig__________。

10. 查询磁盘分区信息的完整命令字符串为____________fdisk _____________,查询文件系统(磁盘)使用情况信息的完整命令字符串是__________df____________,查询文件系统i节点使用情况的完整命令字符串是____df-i_________。

11. 向系统中所有用户广播信息“hello everybody.”的完整命令字符串是_____________________wall “hello everybody.”_____________________。

12. 有某独立服务vsftpd,在字符界面下,启动该服务可使用的完整命令字符串是______service vsftpd start___,若将其设为下次开机自动启动可使用的完整命令字符串是___chkconfig vsftpd on_。试以telnet为例,写出立即开启非独立服务的完整命令字符串_____________service xinetd start_____________.

13. 一个文件的权限字符串为r-xr-x---,它的权限数字表示是______550_________。若一个文件的数字权限为4755它的字符串权限表示为______rwsr-xr-x___________。

 

三. 操作题(每小题10分,共40分)

14. 文件管理及使用

考试目录内创建一个名字为$name_id-0目录,然后将/etc/rc.d/init.d目录的所有文件复制到你刚刚创建的目录内,再将其中的文件network复制到你的考试目录($dname_id)内并更名为netwk,然后使用grep、sed、awk或其它命令实现以下操作:

[root@haorandwhr083413136]# mkdir ${name_id}-0

[root@haorandwhr083413136]# cp /etc/rc.d/init.d/* whr083413136-0

[root@haorandwhr083413136]# cp whr083413136-0/network netwk

(1)  显示netwk中的所有注释行;

[root@haorandwhr083413136]# sed -e '/^[[:blank:]]*#/!d' netwk

(2)显示netwk中的所有非注释行;

[root@haorandwhr083413136]# sed -e '/^[[:blank:]]*#/d' netwk

(3)修改netwk文件,在其中的某个地方增加一行如下内容:

        I am Zhang San, and who are you?

[root@haorandwhr083413136]# echo "I am Zhang San, and who areyou?" >> netwk

(4)使用sed或awk将其中的Zhang San变为你的name_id的值(即$name_id)后,保存到文件netwkNew;

[root@haorandwhr083413136]# sed -e "s/ZhangSan/${name_id}/g" < netwk >netwkNew

(5)使用grep或awk过滤的name_id的值,验证你操作的结果。

[root@haorandwhr083413136]# grep "${name_id}" netwkNew

15. 用户管理

(1)以默认方式创建名为$name_id的用户;

[root@haorandwhr083413136]# useradd $name_id

(2)用grep、sed或awk等查询系统用户数据库文件,验证你的操作;

        [root@haoran dwhr083413136]# cat /etc/passwd | grep $name_id

        [root@haorandwhr083413136]#sed -n "/$name_id/p"/etc/passwd (双引号)

        [root@haorandwhr083413136]#awk "/$name_id/{print}"/etc/passwd(双引号)

(3)创建用户成功后,为其修改密码或删除密码;

        [root@haoran dwhr083413136]# passwd $name_id(修改密码)    

[root@haoran dwhr083413136]# passwd-d $name_id(删除密码)

(4)查询并显示新建用户的uid和gid信息。

[root@haorandwhr083413136]# id -u $name_id   

[root@haorandwhr083413136]# id -g $name_id

16. 作业调度

(1)编辑一个脚本文件job,使其具有功能:

     ①将系统的当前日期、时间和name_id及dname_id值追加到该临时文件内;

     ②将系统中正在工作的所有用户信息也追加到临时文件中。(使用TEM_P的前提是在第一题A4中添加过并没改动过)

#!/bin/bash

date >> ~/$dname_id/$TEM_F

echo $name_id >> ~/$dname_id/$TEM_F

echo $dname_id >> ~/$dname_id/$TEM_F

w >> ~/$dname_id/$TEM_F

(2)显示job的内容;

        [root@haoran dwhr083413136]# cat job

(3)通过at向系统提交(1)中编写的脚本任务,让其在3分钟后执行;

        [root@haoran dwhr083413136]# at now + 3 minutes < ~/job

(4)使用at -l查询你刚刚提交的任务。

        [root@haorandwhr083413136]#at -l

(5)使用crontab提交一项任务让系统在每周周一的凌晨0:30重启。

        [root@haoran dwhr083413136]# crontab -e

             30 0 * * 1 /sbin/init 6

(6)提交完毕后,调用crontab –l查询。

        [root@haoran dwhr083413136]# crontab –l

17. 文件系统的使用

(1)将你考试目录的所有内容和你答案文件刻录成光盘映像,光盘文件名规定为$name_id.iso(说明:name_id为准备阶段定义的环境变量)。

        [root@haoran ~]# mkisofs -J -o ${name_id}.iso dwhr083413136

(2)  将此光盘映像安装在系统的/mnt目录; 

[root@haoran ~]# mount -t iso9660 -oloop whr083413136.iso /mnt/

(3)  将其中的netwkNew复制为考试目录的netNewwk;

[root@haoran ~]# cp /mnt/netwkNew $name_id/netNewwk

(4)拆卸掉刚刚安装的光盘文件系统。

[root@haoran ~]#umount /mnt/

 

四. shell编程(每小题10分,襾题任选1题)

18. 设计一个shell程序,带一个参数。要求实现:

(1)首先判断是否带有一个参数,若无则显示用法信息后返回1;

(2)若带有参数,则判断该参数是不是系统中已经创建的用户名,若是显示其uid和gid后返回0;否则显示“XX is not a user”后,报错返回2(注:XX为作为用户名的参数。)

(3)规定本shell文件名为$name_id-1.sh,为其增加执行权。

(4)请用合适的命令行参数执行该脚本程序,以验证你的设计。

19. 试编写一个shell脚本程序计算它的所有命令行参数(数字串)的和。要求实现:

(1)可以带有多数字串参数。

(2)在计算过程判断命令行参数中是否为有效的数字。若遇非数字字符,则在给出错误或用法提示后返回1,否则输出计算结果并返回0。

(3)规定shell脚本文件名为$name_id-2.sh,为其增加执行权。

(4)请用合适的命令行参数执行该脚本程序,以验证你的设计。

 

五. C编程(每小题10分,襾题任选1题)

20. 设计一个C程序,带一个参数。要求实现:

(1)首先判断是否带有一个参数,若无则显示用法信息后返回1;

(2)若带有参数,则判断该参数是不是系统中已经创建的用户名,若是显示他的uid和gid后返回0;否则显示“XX is not a user”后,报错返回2(注:XX为作为用户的命令行参数。)

(3)规定本C程序文件名为$name_id-1.c(说明:name_id为准备阶段定义的环境变量)。编译该程序生成可执行程序$name_id-1,并用合适的命令行参数执行之,以验证你的设计。

 

21. 试编写一个C程序计算它的所有命令行参数的和。要求实现:

(1)可以有 个数字串参数。

(2)在计算过程判断命令行参数是否为有效的数字。若遇字符等无效数字,则在给出错误或用法提示后返回1,否则输出计算结果并返回0。

(3)规定本C程序文件名为$name_id-2.c(说明:name_id为准备阶段定义的环境变量)。编译该程序生成可执行程序$name_id-2,并用合适的命令行参数执行之,以验证你的设计。

 

 

六. 交卷(共10分)

22. 打包准备

(1)再次将系统的当前日期、时间和name_id及dname_id值追加到该临时文件内。

[root@haoran dwhr083413136]# date>> $TEM_F

[root@haoran dwhr083413136]# echo$name_id >> $TEM_F

[root@haoran dwhr083413136]# echo$dname_id >> $TEM_F

(2)将你考试涉及的所有内容(包括答案文件、考试目录及其所有内容、刻录的光盘映像、所编的程序等等等等),打成tar包,tar包文件名规定为~/$name_id.tgz。(说明:name_id为准备阶段定义的环境变量)。

[root@haoran dwhr083413136]# cd ..

[root@haoran ~]# tar cvf $name_id.tgz dwhr083413136

[root@haoran ~]# ls-l $name_id.tgz

-rw-r--r-- 1 root root 54342 2016-12-14 22:04 whr083413136.tgz

(3)打包完成后,查询其内容的正确性。若不符合要求就重做,直至成功。

[root@haoran ~]# tar tvf $name_id.tgz

drwxr-xr-x root/root         0 2016-12-13 20:24 dwhr083413136/

drwxr-xr-x root/root         0 2016-12-13 20:07 dwhr083413136/whr083413136-0/

-rwxr-xr-x root/root      2019 2016-12-13 20:07 dwhr083413136/whr083413136-0/rpcidmapd

-rwxr-xr-x root/root     14426 2016-12-13 20:07 dwhr083413136/whr083413136-0/functions

-rwxr-xr-x root/root      3162 2016-12-13 20:07 dwhr083413136/whr083413136-0/smartd

-rwxr-xr-x root/root      3099 2016-12-13 20:07 dwhr083413136/whr083413136-0/httpd

(4)退出script系统结束考试。

         Ctrl_D退出script

23. 答卷传输

使用ftp命令,将“打包准备”的tar包传输到Windows系统的最后一个盘的根目录下,等待监考人员收卷。答案包的格式和位置要符合规定要求。

win + r 输入cmd 确定

然后在Windows桌面下进入下载到的盘下进行查看

-

 

说明:考试成绩以最终交到指定位置的答卷包文件为准进行评分。若不能完成交卷工作,成绩视为0分。

 

 

0 0
原创粉丝点击