1、Linux 期末考试模拟试题(一)一、选择题 (每小题 2 分,共 50 分)1.在创建 Linux 分区时,一定要创建( D )两个分区A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SWAP/根分区2.在 Red Hat Linux 9 中,系统默认的(A)用户对整个系统拥有完全的控制权。A. root B. guest C. administrator D.supervistor.3. 当登录 Linux 时,一个具有唯一进程 ID 号的 shell 将被调用,这个 ID 是什么( B )A. NID B. PID C. UID D. CID4. 下面哪个命
2、令是用来定义 shell 的全局变量( D )A. exportfs B. alias C. exports D. export5. 哪个目录存放用户密码信息( B )A. /boot B. /etc C. /var D. /dev6. 默认情况下管理员创建了一个用户,就会在( B )目录下创建一个用户主目录。A. /usr B. /home C. /root D. /etc7. . 当使用 mount 进行设备或者文件系统挂载的时候,需要用到的设备名称位于 ( D )目录。A. /home B. /bin C. /etc D. /dev8. 如果要列出一个目录下的所有文件需要使用命令行( C
3、 )。A. ls l B. ls C. ls a(所有) D. ls d9. 哪个命令可以将普通用户转换成超级用户(D )A. super B. passwd C. tar D. su10. 除非特别指定,cp 假定要拷贝的文件在下面哪个目录下( D )A. 用户目录 B. home 目录 C. root 目录 D. 当前目录11. 在 vi 编辑器里,命令“dd“用来删除当前的( A )A. 行 B. 变量 C. 字 D. 字符12. 当运行在多用户模式下时,用 Ctrl+ALT+F*可以切换多少虚拟用户终端 ( B )A. 3 B. 6 C. 1 D. 1213. Linux 启动的第一个
4、进程 init 启动的第一个脚本程序是( B )。A./etc/rc.d/init.d B./etc/rc.d/rc.sysinit C./etc/rc.d/rc5.d D./etc/rc.d/rc3.d14. 按下(A )键能终止当前运行的命令A. Ctrl-C B. Ctrl-F C. Ctrl-B D. Ctrl-D15. 下面哪个命令用来启动 X Window ( C )A. runx B. Startx C. startX D. xwin16. 用来分离目录名和文件名的字符是( B )A. dash (-) B. slash (/) C. period (.) D. asterisk
5、(*)17. 用 “rm -i“,系统会提示什么来让你确认( B )A. 命令行的每个选项 B. 是否真的删除 C. 是否有写的权限 D. 文件的位置18. 以下哪个命令可以终止一个用户的所有进程( D )A. skillall B. skill C. kill D. killall19.在 Red Hat Linux 9 中,一般用( D )命令来查看网络接口的状态A. ping B. ipconfig C. winipcfg D ifconfig 20. vi 中哪条命令是不保存强制退出 ( C )(第五章)A. :wq B. :wq! C. :q! D. :quit21.局域网的网络设备
6、通常有(ABCDE )A. 交换机 B. 路由器 C. 网桥 D. 双绞线 E. HUB22.在下列分区中,Linux 默认的分区是( B )A. FAT32 B. EXT3 C FAT .D NTFS23.若要将鼠标从 VM 中释放出来,可按 ( A )键来实现A. Ctrl + Alt B. Ctrl +Alt +Del C. Ctrl +Alt +Enter D Ctrl +Enter24.如果用户想对某一命令详细的了解,可用(C)A. ls B. help (内部) C. man(列举的信息多) D dir 25. Samba 服务器的配置文件是 (D )。A httpd.conf B
7、 inetd.conf C rc.samba D smb.conf二、填空题 (每空 1 分,共 10 分)26. 在 Linux 系统中,以文件的方式访问设备 。27. Linux 内核引导时,从文件 /etc/fstad中读取要加载的文件系统。28. Linux 文件系统中每个文件用_i 节点_来标识。29. 某文件的权限为:d-rw-_r-_r-,用数值形式表示该权限 644,该文件属性是 目录。30. 静态路由设定后,若网络拓扑结构发生变化,需由_系统管理员_修改路由的设置。31. 网络管理的重要任务是:_控制_和_监控_。32. 安装 Linux 系统对硬盘分区时,必须有两种分区类型
8、:文件系统分区_ 和 _交换分区_ 。33. 编写的 Shell 程序运行前必须赋予该脚本文件_执行_ _权限。三、操作题(每小题 5 分,共 40 分)40.简述在虚拟机中安装 Red Hat Linux 9.0 的过程答;1。下载操作系统的镜像 ISO 文件2下载虚拟机并安装3通过 ISO 文件安装操作系统4执行相关配置即可Linux 期末考试模拟试题(二)一、选择题(单选题,每小题 2 分,共 20 分)1用户编写了一个文本文件 a.txt,想将该文件名称改为 txt.a,下列命令_D_可以实现。A. cd a.txt xt.a B. echo a.txt txt.a C. rm a.t
9、xt txt.a D. cat a.txt txt.a2Linux 文件权限一共 10 位长度,分成四段,第三段表示的内容是_C_ 。A. 文件类型 B. 文件所有者的权限 C. 文件所有者所在组的权限 D. 其他用户的权限3在使用 mkdir 命令创建新的目录时,在其父目录不存在时先创建父目录的选项是_D_。A. -m B. -d C. -f D. -p4下面关于 i 节点描述错误的是_A_ 。Ai 节点和文件是一一对应的Bi 节点能描述文件占用的块数Ci 节点描述了文件大小和指向数据块的指针D通过 i 节点实现文件的逻辑结构和物理结构的转换5在 vi 编辑器中的命令模式下,重复上一次对编辑
10、的文本进行的操作,可使用_C_命令。A. 上箭头 B. 下箭头 C. “.” D. “*”6某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为_D_ 。A. 467 B. 674 C. 476 D. 7647在 Redhat 公司发布的 Linux 版本中,若要使得用户登录验证,需要修改以下_C_脚本。A. /etc/inittab B. /etc/passwd C. /etc/shadow D. /etc/group8下列不是 Linux 系统进程类型的是_D_ 。A. 交互进程 B. 批处理进程 C. 守护进程 D. 就绪进程9下列关于/etc/fstab
11、 文件描述,正确的是_D_ 。A. fstab 文件只能描述属于 linux 的文件系统B. CD_ROM 和软盘必须是自动加载的C. fstab 文件中描述的文件系统不能被卸载D. 启动时按 fstab 文件描述内容加载文件系统10在 Shell 脚本中,用来读取文件内各个域的内容并将其赋值给 Shell 变量的命令是_D_ 。A. fold B. join C. tr D. read二、填空题(每题 2 分,共 20 分)1安装 Linux 系统对硬盘分区时,必须有两种分区类型:Linux 原始分区(根分区) 和Linux 交换分区 。2在 Linux 的两种链接文件中,只能实现对文件链接
12、的一种方式是:软链接(符号链接)。3Linux 主要采用了 请求调页 和 写时复制 _两种动态内存管理技术实现了物理内存以On demand 方式动态分配。4对于 System V 类型的共享内存页面,Linux 基于_Clock_算法决定哪些页面应当被换出物理内存。5在 Linux 与中断相关的三个核心数据结构中,用做抽象的中断控制器的数据结构是_ hw_interrupt_type _,它包含一系列处理中断控制器特有的操作。6. 通过将_ request _动态链入块设备控制结构 blk_dev_struct,Linux 设备管理器有效的实现了物理设备和缓冲区之间的异步读写通讯。7将/ho
13、me/stud1/wang 目录做归档压缩,压缩后生成 wang.tar.gz 文件,并将此文件保存到/home 目录下,实现此任务的 tar 命令格式_tar czvf wang.tar.gz /home/stud1/wang_。8对于给定的文件 file,统计其中所有包含字符串”WHU”的行数的一条命令是_grep WHU file | wc -l 9. 对于 Shell 脚本程序,若输入参数数量多于 9 个,则程序遍历每个参数可通过使用_shift_命令实现。10在 System V 进程通讯方式中,ipc_perm 结构描述对一个系统 IPC 对象的存取权限,而用于定位 IPC 对象的
14、引用标志符 key 可以依据键值分成_公有_和_私有_两种类型。三、简答题(每小题 5 分,共 20 分)1在底半技术中把一个中断处理分为哪几部分?为什么采用这种技术?答:在底半技术中把一个中断处理分为 2 部分:顶半部分和底半部分。2 分采用这种技术可以:使中断的总延迟时间最小化,加快对中断请求的响应速度,合并某些中断处理。3 分2论述实时信号、非实时信号、可靠信号、不可靠信号四个概念。答:实时信号目前未用,非实时信号编号 131、0 表示空信号 1 分非实时信号没有排队机制,可能丢失 1 分不可靠信号 031、可靠信号 3263 1 分不可靠信号每次处理完信号后,都将对信号的响应设置为默认
15、动作,需要在结尾再次安装信号;可靠信号和不可靠信号的安装函数也不同。两者的区别主要在于信号类型取值,而不在于操纵他们的 API 2 分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 之间时释放 3 个,小于 free_pages_low 时不释放2 分若 Kswapd 被唤醒后发现 Nr
16、_async_pages 小于 free_pages_low 则睡眠时间加班,反之则逐步延长睡眠时间4简述 Linux 文件系统通过 i 节点把文件的逻辑结构和物理结构转换的工作过程。答:Linux 通过 i 节点表将文件的逻辑结构和物理结构进行转换 1 分i 节点是一个 64 字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。1 分在 i 节点表中最重要的内容是磁盘地址表。在磁盘地址表中有 13 个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。若文件空间大于 13 块,则分别用 1 次、2 次、3 次间接块实现对数据
17、块的定位。 2 分此后,Linux 文件系统通过把 i 节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的 i 节点号,通过该 i节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。四、操作题(写出完成下述功能的命令序列,每小题 4 分,共 20 分)1假设你的用户账号是 zheng,现在你登录进入 linux 系统,查看当前登录到系统中的用户,查看当前系统中运行的进程,然后再退出系统。答:login:zhengPassword:口令$who$ps$Ctrl+D2在当前目录/home/zheng 下新建一个目录 back,将当前
18、目录改为 back,在 back 下新建2 个长度为 0 的文件 test1、test2,然后把 test2 移到其父目录中并改名为 file12。答:$ mkdir back$ cd back$ touch test1 test2$ mv test2 ./file23现在需要统计当前目录/home/zheng 下普通文件的数目并显示结果,如何实现?$find type f | wc l4假设你是系统管理员,需要增加一个新的用户账号 zheng,为新用户设置初始密码,锁定用户账号 uly,并删除用户账号 chang。答:.#useradd zheng#passwd zheng#passwd l
19、 uly#userdel chang5若给需要将/home/zheng 目录下的所有文件打包压缩成/tmp/zheng.tar.gz,你准备怎么做?当需要从压缩包中恢复时,又该如何处理?答:#tar zcvf /tmp/zheng.tar.gz /home/zheng#tar -zxvf /tmp/zheng.tar.gz五、下面给出了一个 SHELL 程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。 (8 分)#!/bin/shDIRNAME=ls /root | grep bak #(1)if -z “$DIRNAME“ ; then #(2)mkdir /root/b
20、ak ; cd /root/bak #(3)fiYY=date +%y ; MM=date +%m ; DD=date +%d #(4)BACKETC=$YY$MM$DD_etc.tar.gz #(5)tar zcvf $BACKETC /etc #(6)echo “fileback finished!“答:#(1)获取/root 中名称包含 bak 的文件或目录#(2)判断 1 结果为空#(3)创建目录/root/bak 并进入该目录#(4)获取当前时间的年月日#(5)按照年(2 位)月(2 位)日(2 位)_etc 方式构造压缩文件名#(6)压缩 etc 目录并保存在/root/bak 中
21、 6 分程序功能:若/root/bak 不存在则创建之,然后将/etc 按日期打包保存于该目录中。2 分六、填写标记代码行的意义,给出功能描述和前 6 行程序输出。 (6 分)#include #include int ntimes=0;main(int argc, char *argv) int pid,ppid;int p_action( ), c_action( );signal(SIGUSR1 , p_action); #(1)switch(pid=fork( ) #(2)case -1: perror(“fork failed?);exit(1);case 0: signal(SIG
22、USR1,c_action);ppid=getppid( );for ( ; ; ) ;default: for( ; ; ) pause;sleep(1);kill(pid,SIGUSR1); #(3)p_action( ) printf(“parent caught signal #%dn“,+ntimes);c_action( ) printf(“child caught signal #%dn“,+ntimes/*, +ltimes*/);int ppid;ppid = getppid(); #(4)kill(ppid, SIGUSR1);sleep(3);答:#(1)在父进程中为信号
23、 SIGUSR1 绑定函数 p_action#(2)创建子进程#(3)向子进程发送信号 SIGUSR1#(4)获取父进程的 PID4 分父进程无线循环向子进程发送信号,子进程收到信号后向父进程发送相同信号,父子进程之间各自记录全局变量的变化,结果如:child caught signal #1parent caught signal #1child caught signal #2parent caught signal #2child caught signal #3parent caught signal #32 分七、设计一个 shell 程序,添加一个新组为 class1,然后添加属于
24、这个组的 30 个用户,用户名的形式为 stdxx,其中 xx 从 01 到 30。 (6 分)答:#!/bin/sh i=1groupadd class1while $i -le 30 1 分doif $i -le 9 ;thenUSERNAME=stu0$i 1 分elseUSERNAME=stu$i 1 分fiuseradd $USERNAME 1 分mkdir /home/$USERNAMEchown -R $USERNAME /home/$USERNAME 1 分chgrp -R class1 /home/$USERNAME i=$($i + 1) 或 let “i=i+1” 1 分
25、doneLinux 期末考试模拟试题(三)一、选择题(单选题,每小题 2 分,共 20 分)1Linux 系统的开发模型是 _B_ 。A.教堂模型 B.集市模型 C.层次模型 D.网状模型2在 Linux 中,进程优先级的相关参数有多个,与实时进程优先级相关的参数是 _D_ 。A.policy B.counter C.priority D.rt_priority3_B_ 属于 SYSTEM 进程间通信方式。A.管道 B.信号量 C.软中断信号 D.锁机制4在 Linux 系统中,每个进程都有 4GB 的虚拟地址空间,其中内核空间占用 _C_ 。A02GB-1 B0 3GB-1 C3GB4GB-
26、1 D2GB4GB-15Linux 文件系统中,文件在外存的物理地址放在 _A_ 中。A.i 节点 B.用户打开文件表C.系统打开文件表 D. 进程控制块6以长格式列目录时,若文件 test 的权限描述为:drwxrw-r- ,则文件 test 的类型及文件主的权限是_A_ 。A. 目录文件、读写执行 B. 目录文件、读写 C. 普通文件、读写 D.普通文件、读 7当字符串用单引号( )括起来时, SHELL 将 _C_ 。A.解释引号内的特殊字符 B.执行引号中的命令C.不解释引号内的特殊字符 D.结束进程8/etc/shadow 文件中存放 _B_ 。A.用户账号基本信息 B.用户口令的加
27、密信息C.用户组信息 D.文件系统信息9Linux 系统中,用户文件描述符 0 表示 _A_ 。A.标准输入设备文件描述符 B.标准输出设备文件描述符C.管道文件描述符 D.标准错误输出设备文件描述符10为卸载一个软件包,应使用 _B_ 。A.rpm -i B.rpm -e C.rpm -q D.rpm -V二、填空题(每空 1 分,共 20 分)1在 Linux2.4.0 版本中,进程有 _6_ 种状态,进程使用 _exit_ 系统调用后进入僵死状态。2在 Linux 中,管道分为 _2_ 种类型,若创建或打开管道时获得的描述符存放在 fd中,则 fd1是 _管道写描述符_ 。3Linux
28、为用户提供的接口有 shell、XWINDOW、系统调用4Linux 在 I386 体系结构中支持 _两级_分页机构。5每个设备文件名由主设备号和从设备号描述。第二块 IDE 硬盘的设备名为 _hdb_,它上面的第三个主分区对应的文件名是 _hdb3_ 。6. 超级块是描述 _文件系统属性_ 信息的数据结构,索引节点是描述 _文件属性_ 信息的数据结构。7df 命令完成_显示文件系统空间使用情况_ 功能,du 命令完成 _显示目录或文件占用磁盘空间容量_ 功能。8命令组合(命令表)将 _建立新的子进程_ 来执行命令。9. 磁盘限额管理可以使用 _quota_ 软件工具,其中硬限额的容量应该_大
29、于_软限额。10交换线程通过三种途径来缩减已使用的内存页面:减少 buffer cache 和 page cache的大小、换出系统 V 类型的内存页面、换出或丢弃进程的页面三、简答题(每小题 5 分,共 20 分)2. vi 编辑器有哪几种工作模式?如何在这几种工作模式之间转换?答:Vi 的工作模式有三种:命令模式、输入模式、末行模式。3 分在命令模式下输入 a、A、i、I、o、O 等命令之一可以进入输入模式,在输入模式下按Esc 键回到命令模式;在命令模式下输入:进入末行模式,末行命令执行完后回到命令模式。3. 什么是位置变量?shell 的变量类型有哪些种?位置变量是指命令行上传递给程序
30、的参数。1 分Shell 变量可以分为:用户自定义变量、环境变量、位置变量、特殊变量 4 分4从内核实现的角度说明 Linux 进程共享文件的方式有哪几种?举例说明什么情况下会产生对应的共享情况?答:进程通过多个 file 结构共享一个 inode,进程共享一个 file 结构。 2 分五、下面给出了一个 SHELL 程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。 (8 分)#!/bin/bash #(1)dir=$1 #(2)if -d $dir #(3)thencd $dir #(4)for file in * doif -f $file #(5)then cat $
31、file #(6)echo “end of file $file”fidoneelseecho “bad directory name $dir” fi答:#(1)使用/bin/bash 解释脚本#(2)将位置变量 1 赋值给变量 dir#(3)如果 dir 所指为目录#(4)将当前目录改为 dir#(5)如果循环变量 file 所指是普通文件#(6)显示文件 file 的内容 6 分程序功能:若命令行参数是一个合法目录则显示该目录下所有普通文件的内容,否则显示错误的目录名信息。2 分六、在 Linux 系统中运行下面程序,最多可产生多少个进程?画出进程家族树。 (6 分)main()fork
32、();fork();fork();答:最多可以产生 7 个进程 3 分家族树如右 3 分七、试编写一个 SHELL 程序,该程序能接收用户从键盘输入的 100 个整数,然后求出其总和、最大值及最小值。 (6 分)答:#!/bin/shread maxmin=$maxsum=$maxi=1while $i lt 100doread x sum=expr $sum + $xif $max lt $x thenmax=$xfiif $ x lt $min thenmin=$xfi i=expr $i + 1doneecho “sum = $sum ; max = $max min = $min “试卷编号 07 拟题教研室(或教师)签名 教研室主任签名 AB C ED F GH