- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西北大学unix期中作业
计算机科学与技术2班 李清莉2009118248
Linux程序设计课程期中考试
PAGE \* MERGEFORMAT 6
PAGE \* MERGEFORMAT 7
Linux程序设计期中考试
一、给出完成下列各项功能所需要的Linux系统命令。要求:给出实现这一功能的完整命令;不能给出完整命令可以仅给出所需要的命令名称。必须陈述利用了这个命令的哪个功能或选项。(每题6分,共30分)
1、统计出由用户test创建并且正在运行的进程数目。
在计算机上给出相应的结果
2、假设命令cat /proc/net/arp的执行结果如下:
IP address type Flags HW address Mask Device
192.168.0.50 0x1 0x2 00:AD:32:70:00:20 * eth0
192.168.0.1 0x1 0x2 00:0F:3D:1E:4A:89 * eth0
192.168.0.21 0x1 0x2 00:13:20:56:75:E7 * eth0
192.168.0.38 0x1 0x2 00:0F:1F:52:EF:F6 * eth0
要求设计一个命令去掉上述输出中的表头,并且仅列出IP地址和MAC地址的对应关系,期望的输出结果如下所示。
192.168.0.50 00:AD:32:70:00:20
192.168.0.1 00:0F:3D:1E:4A:89
192.168.0.21 00:13:20:56:75:E7
192.168.0.38 00:0F:1F:52:EF:F6
将计算机接入网络,从不同ip地址的计算机使用ping向该计算机发送数据包,先查看相应的/proc/net/arp文件,再要求设计一个命令去掉上述输出中的表头,并且仅列出IP地址和MAC地址的对应关系。在计算机上给出相应的结果。
3、程序文件fexc.c约有30行,保留了一个备份fexc0.c后,另个程序员在fexc.c中作了多处修改,如何找出他在原先程序的基础上作了哪些修改?
先构造fexc.c,再备份fexc.c得到fexc0.c,然后修改fexc.c。在计算机上给出相应的运行结果。
4、检索目录src以及其子孙目录中的所有文件名后缀为.c和.h文件,查找哪些文件中含有字符串TPDU,并列出在这文件中的行号。
在计算机上给出相应的运行结果。
5、在命令行方式下,加入U盘,使用mount和umount命令对其进行操作;
(1)查看系统地硬盘和硬盘分区情况;
(2)建立一个目录用来作挂节点;之后便可以访问U盘了;具体执行过程如下图所示:
二、简答题与编程题(共40分)
1、(10分)B-shell中的局部变量和环境变量有什么区别?脚本文件myenv.sh的内容如下:
MAXSIZE=100000
export MAXSIZE
执行./myenv.sh后,是否会在Shell中创建环境变量MAXSIZE? 为什么?
在计算机上给出相的运行结果。
B-shell中的局部变量和环境变量的区别是:局部变量仅在创建它的Shell中有效,环境变量对创建它的Shell及其派生出来的子进程都有效。就是说当前shell下启动的子进程只继承环境变量,不继承局部变量。但是环境变量对其它与创建它的Shell没有关系的Shell并不可见。在执行./myenv.sh后shell终止后,环境变量被释放,不会在当前shell中创建环境变量。
2、(10分)下列的脚本程序从键盘输入三个整数A,B,C,并且求出A*(B+C)的值。
在划线出填入适当的内容,完成整个程序。显式地标出你所添加的命令中必须有的空格和转义字符,并解释为什么必须这些空格和转义。
#!/bin/sh
echo –n ”Input A:”; read A
echo –n ”Input B:”; read B
echo –n ”Input C:”; read C
V= `expr $A \* \( $B + $C \) `
echo ”A*(B+C)=$V”
在计算机上给出相应的运行结果。
横线上填`expr $A \* \( $B + $C \)`;
由于星号和圆括号属于shell的元字符,所以前面增加反斜杠,阻止shell队员字符的处理,而是将这些符号直接传递给expr命令,上述命令一共需要6个空格,空格起单词分界线的作用。如果忽视了相应的空格,expr命令将无法得到争取的参数输入,导致expr无法按预期的
文档评论(0)