武汉大学计算机学院
2009-2010学年第一学期期末考试
《Linux原理与应用 》期末考试试卷( )
请将答案写在答题纸上。写在试卷上无效。
一、选择题(单选题,每小题2分,共20分)
1.用户编写了一个文本文件a.txt,想将该文件名称改为txt.a,下列命令
______可以实现。
A. cd a.txt xt.a B. echo a.txt > txt.a C. rm a.txt txt.a D. cat a.txt > txt.a
2.Linux文件权限一共10位长度,分成四段,第三段表示的内容是______ 。 A. 文件类型 B. 文件所有者的权限
C. 文件所有者所在组的权限 D. 其他用户的权限
3.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录
的选项是_____。
A. -m B. -d C. -f D. -p 4.下面关于i节点描述错误的是_____ 。 A.i节点和文件是一一对应的 B.i节点能描述文件占用的块数
C.i节点描述了文件大小和指向数据块的指针
D.通过i节点实现文件的逻辑结构和物理结构的转换
5.在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可
使用______命令。 A. 上箭头 B. 下箭头 C. “.” D. “*”
6.某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为______ 。
A. 467 B. 674 C. 476 D. 764
7.在Redhat公司发布的Linux版本中,若要使得用户登录验证,需要修改
以下______脚本。
A. /etc/inittab B. /etc/passwd C. /etc/shadow D. /etc/group
8.下列不是Linux系统进程类型的是______ 。
A. 交互进程 B. 批处理进程 C. 守护进程 D. 就绪进程
1
9.下列关于/etc/fstab文件描述,正确的是______ 。
A. fstab文件只能描述属于linux的文件系统 B. CD_ROM和软盘必须是自动加载的
C. fstab文件中描述的文件系统不能被卸载 D. 启动时按fstab文件描述内容加载文件系统
10.在Shell脚本中,用来读取文件内各个域的内容并将其赋值给Shell
变量的命令是_____ 。
A. fold
二、填空题(每题2分,共20分)
1.安装Linux系统对硬盘分区时,必须有两种分区类型:______ 和______。 2.在Linux的两种链接文件中,只能实现对文件链接的一种方式是:______。 3.Linux主要采用了______和______两种动态内存管理技术实现了物理内
存以On demand方式动态分配。 4.对于System V类型的共享内存页面,Linux基于______算法决定哪些页
面应当被换出物理内存。
5.在Linux与中断相关的三个核心数据结构中,用做抽象的中断控制器的
数据结构是______,它包含一系列处理中断控制器特有的操作。
6. 通过将______动态链入块设备控制结构blk_dev_struct,Linux设备管
理器有效的实现了物理设备和缓冲区之间的异步读写通讯。 7.将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式______。 8.对于给定的文件file,统计其中所有包含字符串”WHU”的行数的一条命
令是______。 9. 对于Shell脚本程序,若输入参数数量多于9个,则程序遍历每个参数
可通过使用______命令实现。 10.在System V进程通讯方式中,ipc_perm结构描述对一个系统IPC对象
的存取权限,而用于定位IPC对象的引用标志符key可以依据键值分成
______和______两种类型。
三、简答题(每小题5分,共20分)
1.在底半技术中把一个中断处理分为哪几部分?为什么采用这种技术? 2.论述实时信号、非实时信号、可靠信号、不可靠信号四个概念。 3.简要论述Kswapd核心线程的动态特性。
4.简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工
作过程。
四、操作题(写出完成下述功能的命令序列,每小题4分,共20分)
2
B. join C. tr D. read
1.假设你的用户账号是zheng,现在你登录进入linux系统,查看当前登录到系统中的用户,查看当前系统中运行的进程,然后再退出系统。 2.在当前目录/home/zheng下新建一个目录back,将当前目录改为back,在back下新建2个长度为0的文件test1、test2,然后把test2移到其父目录中并改名为file12。
3.现在需要统计当前目录/home/zheng下普通文件的数目并显示结果,如何实现?
4.假设你是系统管理员,需要增加一个新的用户账号zheng,为新用户设置初始密码,锁定用户账号uly,并删除用户账号chang。
5.若给需要将/home/zheng目录下的所有文件打包压缩成/tmp/zheng.tar.gz,你准备怎么做?当需要从压缩包中恢复时,又该如何处理?
五、下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。(8分) #!/bin/sh
DIRNAME=`ls /root | grep bak`
#(1) #(2) #(3) #(4) #(5) #(6)
if [ -z \"$DIRNAME\" ] ; then mkdir /root/bak ; cd /root/bak fi
YY=`date +%y` ; MM=`date +%m` ; DD=`date +%d` BACKETC=$YY$MM$DD_etc.tar.gz tar zcvf $BACKETC /etc echo \"fileback finished!\"
#include main(int argc, char *argv[]) { int pid,ppid; int p_action( ), c_action( ); signal(SIGUSR1 , p_action); switch(pid=fork( )) { 六、填写标记代码行的意义,给出功能描述和前6行程序输出。(6分) #(1) #(2) case -1: perror(\"fork failed?); exit(1); case 0: signal(SIGUSR1,c_action); ppid=getppid( ); 3 } } } for ( ; ; ) ; default: { for( ; ; ) { pause; } sleep(1); kill(pid,SIGUSR1); #(3) p_action( ) { printf(\"parent caught signal #%d\\n\ } c_action( ) { printf(\"child caught signal #%d\\n\ int ppid; ppid = getppid(); #(4) kill(ppid, SIGUSR1); sleep(3); } 七、设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。(6分) 4 因篇幅问题不能全部显示,请点此查看更多更全内容