您的当前位置:首页LINUX复习

LINUX复习

2024-02-14 来源:爱问旅游网


一.单项选择题(每小题1分,共20分)

1.操作系统是一种 ( B )。

A.通用软件 B.系统软件 C.应用软件 D.软件包

2.用来查找特定字符串的命令是( A)。

A.find B.whereis C.grep D.which

3. 要把消息回复给指定的用户, 在mail模式下,输入( A )。A.r usrname B.R usrname C.s usrname D.4.C SHELL命令提示符为( A )。

A.% B.$ C.> D.#

5.修改口令的命令是( B )。

A.who B.passwd C.password D.pwd

6.对正则表达式efg*i下列不匹配的是( C )。

A.efgi B.efggi C.efghi D.efggggi

7.高级语言不具有以下哪个选项的特点。( B )。

1 / 24

m usrname

A.通用性强 B.直接执行 C.便于移植 D.兼容性好

8.执行带输出重定向符的( D )命令可以创建文件。

A.ls B.mkdir C.cd D.cat

9.扩展符\\r 含义是( C )

A.回车并换新行 B.退格 C.回车,但不换新行 D.制表符

10.显示abc.txt文件前5行的命令是( A )。

A、head -5 abc.txt B、head +5 abc.txt

C、tail -5 abc.txt D、tail -f 5 abc.txt

11.在进程管理中,当( C )时,进程从阻塞状态变为就绪状态。

A.进程被进程调度程序选中 B.等待某一事件

C.等待的事件发生 D.时间片用完

12.要编译C程序,在命令提示符输入( B )。

A.c程序名 B.cc -o c程序名 C.ccc c程序名 D.cc c程序名

13.在Linux环境下,要改变当前工作目录,应使用( B )命令。

2 / 24

A、ls B、cd C、pwd D、ps

14.操作系统通过( B )对进程进行管理。

A.进程 B.进程控制块 C.进程启动程序 D.进程控制区

15.( D )不是vi的工作方式之一。

A.命令行方式 B.插入编辑方式 C.末行命令方式 D.菜单方式

16.如何将shell脚本exam.sh设置为所有用户都能执行 ( A )。

A.chmod a+x exam.sh B.chmod a+w exam.sh

C.chmod a+r exam.sh D.chmod u+x exam.sh

17.在vi编辑器中,要从编辑模式切换到指令模式,应按( C )键。

A、insert B、delelte C、Esc D、Ctrl+Alt+Del

18.下面命令中,可以获得指定文件系统的磁盘空间总量或未用空间总量的是( A.tar B.df C.cp D.su

19.对进程的管理和控制使用( B )。

A.指令 B.原语 C.信号量 D.信箱通信

3 / 24

)。 B

20.UNIX文件系统的目录结构是一棵倒挂的树,文件都按 其作用分门别类地放在相关的目录中。现有一个外部设备文件,我们应该将其放在( C )目录中。

A./bin B./etc C./dev D./lib

21.下列应用程序不属于Linux系统编辑器的是( B )。

A.view B.pine C.vi D.emacs

22.要消除单引号的特殊含义使用( A )。

A.反斜杠\\ B.单引号 C.双引号 D.后引号

23.在系统中建立用户组的命令为( C )。

A.groupdel B.group C.groupadd D.useradd

24.进程的同步是指进程间在逻辑上的相互( B )关系。

A.联接 B.制约 C.继续 D.调用

25.在使用more命令显示文件的内容时,按( A )键来显示文本的下一屏内容。

A.空格键 B.回车键 C.b 键 D.q 键

26.关于cd命令,下列四项错误的是( D )

4 / 24

A. cd 回到注册进入时的目录

B. cd /tmp 进入 /tmp 目录

C. cd ../ 进入上级目录

D. cd ./ 进入根目录

27.从用户的观点来看,操作系统是( A )。

A.用户与计算机硬件系统之间的接口

B.控制和管理计算机资源的软件

C.合理地组织计算机工作流程的软件

D.由若干层次的程序按一定的结构组成的有机体

28.修复文件系统的命令是( C )

A.chgrp B.newfs C.fsck D.chmod

29.用来广播消息的命令是( C )。

A.talk B.write C.wall D.mail

30.分时操作系统通常采用( B )策略为用户服务。

5 / 24

A.可靠性和灵活性 B.时间片轮转

C.时间片加权分配 D.短作业优先

31.用来更改文件或目录的名字的命令是( C )

A.rm B.cp C.mv D.cd

32.哪个命令可以将局部变量变成全局变量( B )。

A.read B.export C.expr D.let

33.除了Telnet之外,下面选项中还可以登录到远程主机的命令是( C )。

A.UUCP B.RCP C.rlogin D.ping

34.信箱通信是一种( B )通信方式。

A.直接通信 B.间接通信 C.低级通信 D.信号量

35.你是公司的Linux服务的管理员。你使用vi打开/etc/fstab文件,想修改该文件中的一行,输入下面命令( D )不能开始编辑。

A.a B.i C.o D.h

36.Test命令执行之后的结果是( D )。

6 / 24

A.0 B.1 C.-1 D.0或非0

37.充当打扫系统软件和守护进程产生的状态信息和错误信息的角色的守护进程是( B )。

A.named守护进程 B.syslogd守护进程

C.bootpd守护进程 D.routed守护进程

38.分配到必要的资源并获得处理机时的进程状态是( B )。

A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态

39.Vi中,假设已存在f1和f2两个文件,输入( A )命令可显示文件名列表,并指出当前编辑的文件名。

A.:ar B.:n C.:e D.:r

40.find -links n 命令的作用是( B )。

A.寻找占用n个block的文件 B.寻找链接数等于n的所有文件

C.寻找n天之前曾被存取的文件 D.寻找n天之前曾被修改的文件

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

1.在vi的命令模式下,若想删除光标所在的行使用__ dd _命令。

7 / 24

2. 清除SHELL变量的命令是 unset 。

3.用V操作唤醒一个等待进程时,被唤醒进程的状态变为_ 就绪态 __。

4.UNIX中用于加密和解密的命令是___ crypt 。

5.写出在文本编辑软件ed中搜索以“Unix”开头的行使用的正则表达式 /^Unix/ 。

6.进程主要由_ 程序段 、_数据段 _、_PCB _三部分内容组成,其中__PCB _是进程存在的惟一标志。而__程序段 _部分也可以为其他进程共享。

7.检查打印机状态使用_ lpstat __命令。

8.echo命令的作用是 将它后面所带的消息参数显示在显示器上 。

9.用信箱实现通信时,应有__ 发送 _和_ 接收__两条基本原语。

10.PATH变量中保存的是__进行命令或脚本查找的目录顺序_。

11.设置终端显示使用 tput 命令。

12._创建原语__的主要功能是为被创建进程形成一个PCB,并填入相应的初始值。

13.输入重定向操作符的符号是__<,<<____。

14.UNIX系统可以支持控制台前端与用户终端两种工作模式。

8 / 24

15.为系统创建用户账号的时候,可以通过执行_useradd__命令来增加新用户,也可以通过直接编辑_/etc/passwd __文件和__/etc/shadow _文件来建立账号。

16.UNIX系统支持两种类型的链接:_硬链接__、__符号链接(软链接) 。

17.你是公司的Linux服务的管理员。你使用vi编缉/etc/inittab文件时,在命令模式下查询shutdown字符串,使用的命令是_?shutdown__和__/shutdown_。

18.要创建一个两层目录XX/ZZ,采用__ mkdir –p XX/ZZ _命令。

19.在计算机应用中需要由操作系统来控制应用程序的执行过程,并充当用户、应用程序与计算机硬件之间的接口。

20.Shell脚本的语句主要是 __shell命令_ 和 流程控制___。

21.获取帮助信息的命令有_ help _, man 和__ learn _。

22. UNIX 系统中,进程调度采用的技术是 动态优先数 。

23.用______tee 命令可以将输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中。

24.文件权限读、写、执行的三种标志符号依次是 r w x 。

25.用户与操作系统通过____shell___进行通信,而基于硬件的操作由___内核___完成。

26.不想被write 命令所发的消息打扰,可采用___ mesg n ____命令来进行设置。

9 / 24

27.UNIX的文件系统通常由 引导块 、 超级块 、 索引节点表 、 数据区 四部分构成。

28.从作用范围上划分,线程可以分为___用户级线程__和__系统级线程____两种。

29.___umount_____命令用来卸载文件系统。

30.UNIX系统中用compress命令压缩后的文件的扩展名是____.z____。

31.Shell脚本中的注释符是______#___ 。

32.备份可分为两种类型:___备份文件____和___备份文件系统___。

33.每个命令行分为__命令名_、___执行选项___和___执行参数___三个字段。

34.UNIX的文件系统中可以将文件分为普通文件、目录文件、特殊文件.管道文件、链接文件等。

35.进程在运行过程中有三种基本状态,它们是___运行态___.____就绪态__.____阻塞态___。

三.命令应用(每小题2分, 共20分)

1.挂载光盘到文件系统中。

mount –t iso9660 /dev/hdc /mnt/cdrom

2.带行号在屏幕上输出当前目录中的文件a.txt。

10 / 24

cat –b a.txt

3.撤销同组用户和其他用户对文件a.txt的写权限。

chmod go –w a.txt

4.将当前目录中的文件filea复制为当前目录中的文件fileb,若fileb存在则询问是否替换。

cp –i filea fileb

5.在当前目录下创建一个指定访问权限的目录newdir(属主u有读.写.执行权限,同组用户对该目录有读.写.执行权限,其他用户对该目录无访问权限)

mkdir –m 770 newdir

6.为软盘创建镜像文件。

dd if=/dev/fd0 of=disk.img bs=1440k

7.此命令完成在/home目录及子目录中查找名为core或名为a.out的文件,若找到的这些文件是在3天之内未被访问过的,则执行删除命令将其删除。

find /home \\ (-name core –o –name a.out \\ ) –atime +3 –exec rm {} \\;

8.将整个/etc目录下的文件全部打包并压缩成为/tmp/etc.tar.gz

tar –zcvg /tmp/etc.tar.gz /etc

11 / 24

9.测试usera的主目录“/home/usera”是否存在,若存在输出“目录usera存在”

test –d /home/usera && echo “目录usera存在”

10.对文件text1的内容按照默认方式进行排序,将排序结果存入文件text1out中。

sort –f –o text1out text1

11.统计当前目录中文件数目。

ls –l|wc –l 或 ls –l > tempfile

wc –l tempfile

rm tempfile

12.将当前目录改变到“/usr/bin”目录下。

cd /usr/bin

13.设置文件属主u对文件filea有读、写权限,同组用户对文件有读权限,其他用户对文件无访问权限。

chmod 640 filea

14.截取文件file的1~60个字符

12 / 24

cut –c1-60 file

15.显示file文件中不包含字符串abc的行

grep –v abc file

16.将当前进程的PATH应用到子进程中。

export PATH=”$PATH:/usr/”

17.带行号显示文件a.txt中包含字符串“Unix”的行。

grep –n Unix a.txt

18.将当前目录中的文件“a.txt”当做电子邮件的内容发送给用户usera,邮件的标题为“Email”

mail –s “Email” usera < a.txt

19.写出用vi编辑文件a.txt的命令

vi a.txt

20.以只读模式用vi打开文件f1的命令。

vi –R f1

六.设计题(共30分)

13 / 24

1.编写一个利用case实现的分时问候的shell程序,根据执行时获取的当前时间显示出不同的问候信息。(6分)

1~11时,输出“Good morning!”

12~17时,输出“Good afternoon!”

其他时间,输出“Good evening!”

#!/bin/bash

hour=`date +%H`

case $hour in

0[1-9]|1[01]) echo \"Good morning!\";;

1[234567]) echo \"Good afternoon\";;

*) echo \"Good evening!\";;

esac

2.编写一个shell程序,显示如下样式的循环菜单:

Main Menu

14 / 24

0)EXIT

1)Undergraduate

2)Graduate

当用户选择“EXIT”时显示“Call Menu EXIT”退出菜单,选择“Undergraduate”时显示“Call Menu Undergraduate”,选择“Graduate”时显示“Call Menu Graduate”。(8分)

#!/bin/bash

PS3=\"Choice?\"

select choice in EXIT Undergraduate Graduate

do

case \"$choice\" in

EXIT )echo \" Call Menu EXIT\"

break;;

Undergraduate)echo \" Call Menu Undergraduate \";;

Graduate)echo \" Call Menu Graduate \"

15 / 24

esac

done

3.假设score.txt文件中保存了三个班级的学生考试成绩,请编写一段shell程序计算每个班级的学生人数与平均分。注:score.txt包含两个字段(学号,分数),字段间用空格分隔,学号长度为3,第一位为班级编号。(12分)#!/bin/bash

class1n=0

class1avg=0

class2n=0

class2avg=0

class3n=0

class3avg=0

:while read class scor

do

16 / 24

echo $class $scor

case `expr substr $class 1 1` in

1)

let class1n=class1n+1

let class1avg=class1avg+scor;;

2)

let class2n=class2n+1

let class2avg=class2avg+scor;;

3)

let class3n=class3n+1

let class3avg=class3avg+scor;;

esac

done let class1avg=class1avg/class1n

/ 24

17

let class2avg=class2avg/class2n

let class3avg=class3avg/class3n

echo \"1班有$class1n人,平均分为$class1avg\"

echo \"2班有$class2n人,平均分为$class2avg\"

echo \"3班有$class3n人,平均分为$class3avg\"

4.为一个c项目定义一个makefile文件,项目中的各文件的依赖关系如图所示。(4分)

fs:main.o facsum.o fac.o

gcc -o fs main.o facsum.o fac.o

main.o:main.c

gcc -c main.c

facsum.o:facsum.c

18 / 24

gcc -c facsum.c

fac.o:fac.c

gcc -c fac.c

}

5.编写一个利用if实现的分时问候的shell程序,根据执行时获取的当前时间显示出不同的问候信息。(6分)

1~11时,输出“Good morning!”

12~17时,输出“Good afternoon!”

其他时间,输出“Good evening!”

#!/bin/bash

hour=`date +%H`

if [ $hour -lt 12 ]

then

echo \"Good morning!\"

19 / 24

elif test $hour -le 17

then

echo \"Good afternoon\"

else

echo \"Good evening!\"

fi

6.编写一段shell程序完成:根据从键盘输入的学生的学号和成绩,显示相应的成绩标准(分为不及格、及格、中、良好、优秀等),可以循环处理多名学生的成绩,输入0 0时结束运行。(8分)

#!/bin/bash

while read sno score

do

if [ $sno = 0 ] && [ $score = 0 ]

then break

else

20 / 24

if test $score -ge 90

then

echo $sno 优秀

elif [ $score -ge 80 ]

then echo $sno 良好

elif [ $score -ge 70 ]

then echo $sno 中

elif [ $score -ge 60 ]

then echo $sno 及格

else

echo $sno 不及格

fi

fi

done

21 / 24

7.编写一个shell程序(rnc.sh),将指定目录中的所有以给定字符开头的文件的文件名修改为原名+修改日期。(8分)

如:执行语句 rnc.sh a b 可将目录a中以b开头的文件的名字改为“原名.yyyy-mm-dd”

#!/bin/bash

cd $1

d=\".`date +%y-%m-%d`\"

for file in [b]*.*

do

mv $file $file$d

done

8.编写一段c程序,使其完成:父进程创建一个子进程,子进程运行时显示当前系统的记录时钟;父进程运行时完成将数字1~100循环显示到标准输出流上;同时注意程序运行时控制其执行顺序是子进程先运行,父进程再运行。(8分)

#include

#include

22 / 24

#include

int main()

{

int pid;

pid=fork();

if(pid==0)

{

execl(\"/bin/date\

exit(1);

}

else

wait(NULL);

for(pid=1;pid<=100;pid++)

printf(\"%d\\n\

23 / 24

return 0;

}

24 / 24

因篇幅问题不能全部显示,请点此查看更多更全内容