《Linux 期末考试试题二.docx》由会员分享,可在线阅读,更多相关《Linux 期末考试试题二.docx(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Linux期末考试试题(二)请将答案写在答题纸上。写在试卷上无效。一、选择题(单选题,每小题2分,共20分)1 .用户编写了一个文本文件a. txt,想将该文件名称改为txt.a,下列命令_D_可以实 现。A. cd a. txt xt. aB. echo a. txt txt. aC. rm a. txt txt. aD. cat a. txt txt. a2 . Linux文件权限一共10位长度,分成四段,第三段表示的内容是C oA.文件类型B.文件所有者的权限C.文件所有者所在组的权限 D.其他用户的权限3 .在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是 D
2、。A. _mB. -dC. -f D. -p4 .下面关于i节点描述错误的是_A oA. i节点和文件是一一对应的B.i节点能描述文件占用的块数C.i节点描述了文件大小和指向数据块的指针D.通过i节点实现文件的逻辑结构和物理结构的转换5 .在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用_C命 令。A.上箭头B.下箭头 C.D.6 .某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件 的权限为_DoA. 467B. 674 C. 476 D. 7647 .在Redhat公司发布的Linux版本中,若要使得用户登录验证,需要修改以下_C_脚 本。A.
3、 /etc/inittabB. /etc/passwdC. /etc/shadowD. /etc/group8 .下列不是Linux系统进程类型的是_DoA.交互进程 B.批处理进程C.守护进程 D.就绪进程9 .下列关于/etc/fstab文件描述,正确的是D。A. fstab文件只能描述属于linux的文件系统B. CD_ROM和软盘必须是自动加载的C. fstab文件中描述的文件系统不能被卸载D.启动时按fstab文件描述内容加载文件系统10 .在Shell脚本中,用来读取文件内各个域的内容并将其赋值给Shell变量的命令是 _D_ oA. foldB. joinC. trD. read
4、二、填空题(每题2分,共20分)1 .安装Linux系统对硬盘分区时,必须有两种分区类型:Linux原始分区(根分区)和Linux交换分区。2 .在Linux的两种链接文件中,只能实现对文件链接的一种方式是:软链接(符号链接)。3 . Linux主要采用了 请求调页和写时复制.两种动态内存管理技术实现了物理内存以 On demand方式动态分配。4 .对于System V类型的共享内存页面,Linux基于Clock算法决定哪些页面应当被换出物理内存。5 .在Linux与中断相关的三个核心数据结构中,用做抽象的中断控制器的数据结构是一 hw_interrupt_type ,它包含一系列处理中断控
5、制器特有的操作。6 .通过将_ request动态链入块设备控制结构blk_dev_struct, Linux设备管理器有效的实现了物理设备和缓冲区之间的异步读写通讯。7 .将/home/studl/wang目录做归档压缩,压缩后生成wang. tar. gz文件,并将此文件保存 到/home目 录下,实现此 任务的tar 命 令格式 tar czvf wang. tar. gz /home/studl/wang。8 .对于给定的文件file,统计其中所有包含字符串”WHIT的行数的一条命令是grep WHU file| wc -19 .对于Shell脚本程序,若输入参数数量多于9个,则程序遍
6、历每个参数可通过使用 命令实现。10 .在System V进程通讯方式中,ipc_perm结构描述对一个系统IPC对象的存取权限,而 用于定位IPC对象的引用标志符key可以依据键值分成公有和私有 两种类型。三、简答题(每小题5分,共20分)1 .在底半技术中把一个中断处理分为哪儿部分?为什么采用这种技术?答:在底半技术中把一个中断处理分为2部分:顶半部分和底半部分。2分采用这种技术可以:使中断的总延迟时间最小化,加快对中断请求的响应速度,合并某 些中断处理。3分2 .论述实时信号、非实时信号、可靠信号、不可靠信号四个概念。答:实时信号目前未用,非实时信号编号131、0表示空信号1分非实时信号
7、没有排队机制,可能丢失1分不可靠信号031、可靠信号32631分不可靠信号每次处理完信号后,都将对信号的响应设置为默认动作,需要在结尾再次安装 信号;可靠信号和不可靠信号的安装函数也不同。两者的区别主要在于信号类型取值,而不 在于操纵他们的API2分3 .简要论述Kswapd核心线程的动态特性。答:主要通过nr_async_pages参考free_pages_high和free_pages_low来判断交换数量和线程睡眠时间:1分Nr_async_pages 大于 free_pages_high 时每次释放 6 个页面,在 free_pages_high 和 free_pages_low之间时
8、释放3个,小于free_pages_low时不释放2分若Kswapd被唤醒后发现Nr_async_pages小于free_pages_low则睡眠时间加班,反之则逐 步延长睡眠时间4 .简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。答:Linux通过i节点表将文件的逻辑结构和物理结构进行转换1分i节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有 者、文件的存取许可方式以及文件的类型等重要信息。1分在i节点表中最重要的内容是磁盘地址表。在磁盘地址表中有13个块号,文件将以块号在 磁盘地址表中出现的顺序依次读取相应的块。若文件空间大于13块
9、,则分别用1次、2次、 3次间接块实现对数据块的定位。2分此后,Linux文件系统通过把i节点和文件名进行连接,当需要读取该文件时,文件系统在 当前目录表中查找该文件名对应的项,由此得到该文件相对应的i节点号,通过该i节 点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。四、操作题(写出完成下述功能的命令序列,每小题4分,共20分)1 .假设你的用户账号是zheng,现在你登录进入linux系统,查看当前登录到系统中的用 户,查看当前系统中运行的进程,然后再退出系统。答:login: zhengPassword:口令$who$ps$Ctrl+D2 .在当前目录/home/zheng下新
10、建一个目录back,将当前目录改为back,在back下新建2 个长度为。的文件testl、test2,然后把test2移到其父目录中并改名为答:$ mkdir back$ cd back$ touch testl test2$ mv test2 ./file23 .现在需要统计当前目录/home/zheng下普通文件的数目并显示结果,如何实现?$find -type f | wc -14 .假设你是系统管理员,需要增加一个新的用户账号zheng,为新用户设置初始密码,锁 定用户账号uly,并删除用户账号chang。答:.ttuseradd zhengttpasswd zhengttpassw
11、d -1 uly#userdel chang5 .若给需要将/homc/zhcng目录下的所有文件打包压缩成/tmp/zhcng.tar.gz,你准备怎么做? 当需要从压缩包中恢复时,又该如何处理?答:#tar -zcvf /tmp/zheng.tar.gz /home/zheng五、下面给出了一个SHELL程序,试对其行后有# (n)形式的语句进行解释,并说明程序完成的功能。(8分)#!/bin/shDIRNAME= Is /root | grep bak# (1)if -z $DIRNAME ; then# (2)mkdir /root/bak ; cd /root/bak# (3)fiY
12、Y=date +%y ; MM= date +%nf ; DD=date +%d# (4)BACKETC=$YY$MM$DD_etc. tar. gz# (5)tar zcvf SBACKETC /etc# (6)echo ?/fileback finished!”答:# (1)获取/root中名称包含bak的文件或目录# (2)判断1结果为空# (3)创建目录/root/bak并进入该目录# (4)获取当前时间的年月日# (5)按照年(2位)月(2位)日(2位)_etc方式构造压缩文件名# (6)压缩etc目录并保存在/root/bak中6分程序功能:若/root/bak不存在则创建之,然后
13、将/etc按日期打包保存于该目录中。2分六、填写标记代码行的意义,给出功能描述和前6行程序输出。(6分)#include #include int ntimes=0;main(int argc, char *argv口)int pid,ppid;int p_action(), c_action();signal(SIGUSRl , p_action);# (1)switch(pid=fork() # (2)case -1: perror(nfork failed?);exit(l);case 0: signal(SIGUSR 1 ,c_action);ppid=getppid();for (;
14、);default: for(; ;) pause;sleep(l);kill(pid,SIGUSRl);# (3)p_action() printf(nparent caught signal #%dn,+ntimes);)c_action() printf(child caught signal #%dn,+ntimes/*, +ltimes*/);int ppid;ppid = getppid();# (4)kill(ppid, SIGUSR1);sleep(3);)答:# 在父进程中为信号SIGUSR1绑定函数p_action# (2)创建子进程# (3)向子进程发送信号SIGUSR1
15、# (4)获取父进程的PID4分父进程无线循环向子进程发送信号,子进程收到信号后向父进程发送相同信号,父子进程之 间各自记录全局变量的变化,结果如:child caught signal #1parent caught signal #1child caught signal #2parent caught signal #2child caught signal #3parent caught signal #3?分七、设计一个shell程序,添加一个新组为classl,然后添加属于这个组的30个用户,用户 名的形式为stdxx,其中xx从01到30。(6分)答:#!/bin/sh i=l groupadd class 1 while $i -le 301 分doif $i -le 9 ;thenUSERNAME=stuO$ i1 分elseUSERNAME=stu$i1 分fi useradd $USERNAME1 分mkdir /home/$USERNAME chown -R $USERNAME /home/$USERNAME1 分chgrp -R class 1 /home/$USERNAMEi=$($i + 1) # 或 let “i=i+1”1 分done
限制150内