NCRE 三级Linux应用与开发技术试题

一、单项选择题(共 40 题)

1. 操作系统负责管理计算机系统的( ),其中包括处理机、存储器、设备和文件。

A. 程序B. 文件
C. 资源D. 进程

2. 下列哪一个操作系统不属于Linux家族?( )

A. UbuntuB. CentOS
C. SolarisD. RedHat

3. 下列哪一个指令可以设定使用者的密码?( )

A. pwdB. newpwd
C. passwdD. password

4. 切换工作目录的命令是( )

A. pwdB. cd
C. whoD. ls

5. 已知ls命令的结果如下:chapter chapter1 chapter123 oschapter1,执行 ls chapter[0-9]* 的结果是( )

A. chapter1 chapter123B. chapter chapter1 chapter123
C. chapter1 chapter123 oschapter1D. chapter chapter1 chapter123 oschapter1

6. 在bash中,在一条命令后输入 "2>&1",表示( )

A. 标准错误输出重定向到标准输入B. 标准输入重定向到标准错误输出
C. 标准错误输出重定向到标准输出D. 标准输出重定向到标准输入

7. 默认情况下管理员创建了一个用户,就会在( )目录下创建一个用户主目录。

A. /usrB. /home
C. /rootD. /etc

8. 下列哪个参数可以删除一个用户并同时删除用户的home目录?( )

A. rmuser -rB. deluser -r
C. userdel -rD. usermgr -r

9. 使用 ls -l 命令列出下面的文件列表,( )是软链接文件。

A. -rw-rw-rw- 2 stu users 56 Sep 09 11:05 file1B. -rwxrwxrwx 2 stu users 56 Sep 09 11:05 ex
C. drwxr-xr-x 1 users 1024 Sep 10 08:10 zhangD. lrwxr--r-- 1 users 2024 Sep 12 08:12 cheng

10. 为了使文件的所有者有读和写的权限,而同组用户和其他用户只能进行只读访问。在设置文件的许可权时,应当设为( )

A. 566B. 644
C. 655D. 744

11. 用户编写了一个文本文件file,想将该文件名称改为text,下列哪个命令可以实现?( )

A. cd file textB. echo file > text
C. rm file textD. cat file > text

12. cd~命令的含义是( )

A. 到当前目录B. 到根目录
C. 到root目录D. 到用户的home目录

13. 在ps命令中,以下哪个参数是用来显示所有用户的进程的?( )

A. aB. b
C. uD. x

14. 下列哪个命令可以终止一个用户的所有进程?( )

A. skillallB. skill
C. killD. killall

15. 在应用程序启动时,可以使用以下哪个命令设置进程的优先级?( )

A. priorityB. nice
C. reniceD. setpri

16. 如何从当前系统中卸载一个已装载的文件系统?( )

A. umountB. dismount
C. mount -uD. 从/etc/fstab中删除这个文件系统项

17. 哪个命令用来显示系统中各个分区中inode的使用情况?( )

A. df -iB. df -H
C. free -bD. du -a -c /

18. 为了能够将新建立的文件系统mount到系统目录中,还需要指定该文件系统在整个目录树中的位置,称为( )

A. 子目录B. 挂载点
C. 新分区D. 目录树

19. 在大多数Linux发行版本中,以下哪个属于块设备(block devices)?( )

A. 串行口B. 硬盘
C. 虚拟终端D. 打印机

20. 在Linux中第一个IDE磁盘的名字为( )

A. /dev/hdbB. /dev/hdc
C. /dev/hdaD. /dev/hdd

21. 查看swap空间的使用情况该使用哪个命令?( )

A. dfB. swapon
C. freeD. fdisk

22. 下列哪项可能是Linux系统中以太网网络接口?( )

A. 10B. eth2
C. net0D. neta

23. 用什么命令可以直接显示Linux系统当前定义的主机名?( )

A. ipnameB. host
C. ifconfigD. hostname

24. 下列哪个命令可以列出所有当前活跃的网络接口?( )

A. ifconfigB. lsnet
C. shownetD. 以上都不是

25. 下列哪个程序可以用来确定两台计算机间的IP连接性?( )

A. hostB. netstat
C. ifconfigD. ping

26. 在Linux终端启动Apache的命令为( )

A. service httpd startB. service start
C. httpd startD. start

27. Linux的日志文件通常保存在( )

A. /var/logB. /usr/adm
C. /etc/D. /var/run

28. 在VI编辑器最后一行显示“4 lines yanked”,则刚输入的命令是( )

A. 4ybB. 4p
C. 4yyD. 4yw

29. 在VI编辑器中,如果用户想在每次对文件进行编辑时收到反馈消息,可以输入( )

A. set scroll=0B. set shiftwidth=0
C. set wrapmargin=0D. set report=0

30. 在Emacs中,以下哪种操作可以实现打开另一个文件以替换当前打开的文件?( )

A. 先同时按Ctrl+x组合键, 再同时按Ctrl+s组合键B. 先同时按Ctrl+x组合键,再同时按Ctrl+f组合键
C. 先同时按Ctrl+x组合键, 再同时按Ctrl+b组合键D. 先同时按Ctrl+x组合键, 再同时按Ctrl+v组合键

31. Emacs中将光标向前移动一屏的命令是( )

A. <Ctrl>+vB. <Alt>+v
C. <Ctrl>+bD. <Alt>+b

32. Emacs中模式行显示模式字段中“%%”表示( )

A. 缓冲区未被编辑B. 缓冲区中的文本已被修改
C. 缓冲区中的文本未被修改D. 只读缓冲区中的文本已被修改

33. SSH是什么协议?( )

A. 安全外壳B. 请求-响应
C. 地址解析D. 动态主机配置

34. 在以下协议中,为远程登录会话和其他网络协议提供安全性的协议是( )

A. FTPB. HTTP
C. SSHD. ICMP

35. OpenSSH的默认端口号为( )

A. 80B. 8080
C. 21D. 22

36. 使用GDB命令查看某个变量类型时,应该用命令( )

A. setB. whatis
C. killD. print

37. 在使用GCC命令时,如果想产生调试信息,需要加入以下哪个选项?( )

A. -wB. -l
C. -gD. -d

38. 下面关于make命令,说法错误的是( )

A. make工具可以用来维护程序模块关系和生成可执行程序B. make命令是GNU的工程化编译工具,它用于编译大量相互关联的源代码
C. makefile文件中目标文件后跟的是源文件,最后是生成源文件的命令D. make命令从makefile文件获取模块之间的依赖关系

39. FTP是什么协议?( )

A. 域名协议B. 动态主机配置
C. 文件传输D. 文件解析

40. 下列哪一个不是Web应用开发框架?( )

A. SpringB. Unity
C. Struts2D. MyBatis

二、填空题(共 10 题)

  1. 按照冯·诺依曼体系结构,传统的单核CPU由运算器和\_\_\_\_\_\_\_\_\_\_这两个主要部件组成。
  2. Linux下的软件包可分为两种,分别是\_\_\_\_\_\_\_\_\_\_和二进制包。
  3. 在shell中,\_\_\_\_\_\_\_\_\_\_是由竖杠(|)代表,用来连接多条命令。
  4. DNS服务使用的端口是\_\_\_\_\_\_\_\_\_\_。
  5. 使用\_\_\_\_\_\_\_\_\_\_命令可以将用户身份临时改变为root。
  6. 已知shell变量nu=aaa,现在希望nu的值是aaabbb,则应执行的命令nu=\_\_\_\_\_\_\_\_\_\_。
  7. 命令\_\_\_\_\_\_\_\_\_\_用来装载所有在/etc/fstab中定义的文件系统。
  8. 通过DHCP获得信息的机器没有固定IP地址,用\_\_\_\_\_\_\_\_\_\_命令增加网络接口时,系统动态获得一个IP地址,用\_\_\_\_\_\_\_\_\_\_命令减少网络接口时,系统就释放一个IP地址。
  9. Vi打开文档后,想把10-15行中的第一个 'abc' 替换为 'efg',应输入命令\_\_\_\_\_\_\_\_\_\_。
  10. 编译器GCC会在系统默认的路径中(如/usr/lib)寻找所需要的库文件,当使用了\_\_\_\_\_\_\_\_\_\_选项指定库文件路径后,会首先到指定的目录去寻找相关库文件。

三、综合应用题(共 2 题)

1. 在 /tmp/source 目录下有一个只读 test.c 文件如下:

#include <stdio.h>
int main(){
    printf("This is test.\n");
    printf("This is another test.\n");
    return 0;
}

用户当前在 / 目录下,进行如下操作:
(1) 在 /tmp 目录下创建一个名为 target 的目录,应输入命令:【51】\_\_\_\_\_\_\_\_\_\_;
(2) cd /tmp/target
(3) 输入命令 cp /tmp/source/test.c,将 test.c 文件复制到当前目录;
(4) 调用命令【52】\_\_\_\_\_\_\_\_\_\_,将文件改为可写形式;
(5) vi test.c 启动编辑;
(6) 使用【53】\_\_\_\_\_\_\_\_\_\_命令把文件中的字符串 "This" 全都替换为 "That";
(7) 将光标移到第4行,输入命令【54】\_\_\_\_\_\_\_\_\_\_删除该行;
(8) 输入命令【55】\_\_\_\_\_\_\_\_\_\_保存并退出vi编辑器;
(9) 用户用scp命令把 /tmp/target/test.c 文件上传至IP地址为10.0.0.50的服务器的 /tmp 目录下,命令中需指定访问服务器的用户名为 user1,应输入:
[root@localhost ~]# 【56】\_\_\_\_\_\_\_\_\_\_
(10) 上传成功后,用户使用 ssh 以 user1 身份登录服务器,应输入:

`[root@localhost ~]#` 【57】\_\_\_\_\_\_\_\_\_\_

(11) 登录服务器后进入 /tmp 目录,调用 gcc 编译 test.c,指定输出文件名为 mytest,并要求产生调试信息,应输入:

`[[email protected]:/tmp]$` 【58】\_\_\_\_\_\_\_\_\_\_

(12) 编译成功后,输入命令【59】\_\_\_\_\_\_\_\_\_\_启动 GDB对 mytest 进行调试;
(13) 调试过程中,如需在程序第3行设置断点,可输入命令【60】\_\_\_\_\_\_\_\_\_\_

2. 写一个猜数字shell脚本,当用户输入的数字和预设数字(随机生成一个小于100的数字)一样时,直接退出,否则让用户一直输入,并且提示用户的数字比预设数字大或者小。答题要求:在横线处补充相应内容。

【62】__________
m=`echo $RANDOM`
n1=$【63】__________
【64】__________
do
    【65】__________ "Please input a number: "n
    if [ $n == $n1 ]
    then
        【66】__________
    【67】__________
    then
        echo "bigger"
        continue
    【68】__________
        echo "smaller"
        continue
    【69】__________
【70】__________
【71】__________ "You are right."


试卷(一) 参考答案与解析

一、单项选择题

  1. C | 【解析】操作系统的核心功能是管理计算机的硬件资源(处理机、存储器、设备)和软件资源(文件、数据等)故本题答案为C选项。
  2. C | 【解析】Ubuntu(基于Debian,广泛应用于桌面和服务器)、CentOS(基于RedHat Enterprise Linux,常用于企业服务器)、RedHat(红帽企业版Linux,商业发行版)均属Linux;而Solaris属于UNIX家族,故本体答案为C选项。
  3. C | 【解析】 pwd 用于显示当前工作目录路径,passwd 用于修改用户密码,而Linux中没有 newpwdpassword 指令,故本题答案为C选项。
  4. B | 【解析】cd (change directory) 用于切换工作目录。
  5. A | 【解析】通配符 [0-9] 匹配任意一个数字,* 匹配任意字符。符合条件的有 chapter1 和 chapter123。
  6. C | 【解析】2>&1 表示将标准错误输出(2)重定向到标准输出(1)。
  7. B | 【解析】Linux系统中普通用户的主目录默认创建在 /home 目录下。
  8. C | 【解析】userdel -r 删除用户并连同其 home 目录一起删除。
  9. D | 【解析】ls -l 第一位字母:- 为普通文件,d 为目录,l 为软链接文件。
  10. B | 【解析】所有者读写(4+2=6),同组只读(4),其他只读(4),合为 644。
  11. D | 【解析】cat file > text 会将 file 的内容输出并重定向到 text 文件中。
  12. D | 【解析】单独输入 cdcd ~ 会返回当前用户的 home 目录。
  13. A | 【解析】ps a 显示终端所有用户的运行过程进程。
  14. D | 【解析】killall 可以通过进程名称终止一类进程,包含某个用户的所有进程。
  15. B | 【解析】启动时使用 nice 设定优先级,运行中修改用 renice
  16. A | 【解析】卸载已挂载的文件系统使用 umount 命令。
  17. A | 【解析】df -i 用于查看系统中各个分区的 inode 使用情况。
  18. B | 【解析】文件系统在目录树中接入的位置称为挂载点(Mount Point)。
  19. B | 【解析】硬盘是以块为单位存储数据的块设备(Block Device)。
  20. C | 【解析】第一块IDE磁盘为 /dev/hda,第二块为 /dev/hdb
  21. C | 【解析】free 命令可以查看内存及 swap 空间的使用情况。
  22. B | 【解析】Linux 中以太网接口通常以 eth 开头,如 eth0, eth2
  23. D | 【解析】hostname 命令用于直接显示或设置当前主机名。
  24. A | 【解析】ifconfig 命令默认列出当前所有活跃的网络接口。
  25. D | 【解析】ping 命令发送 ICMP 回显请求以测试网络连通性。
  26. A | 【解析】service httpd start 是启动 Apache(httpd) 服务的标准命令。
  27. A | 【解析】Linux 的日志文件通常保存在 /var/log 目录下。
  28. C | 【解析】在 vi 中,yy 复制一行,4yy 复制 4 行。
  29. D | 【解析】:set report=0 表示编辑器在发生任何修改时都会在底部反馈信息。
  30. D | 【解析】Emacs 中 <Ctrl>+x <Ctrl>+v 打开新文件并替换当前缓冲区。
  31. A | 【解析】Emacs 中 <Ctrl>+v 向前移动一屏(向下翻页)。
  32. C | 【解析】Emacs 状态栏 %% 表示文件未被修改,** 表示已被修改。
  33. A | 【解析】SSH 全称 Secure Shell,即安全外壳协议。
  34. C | 【解析】SSH 为远程登录和其他网络服务提供加密和安全性。
  35. D | 【解析】SSH 的默认监听端口是 TCP 22 端口。
  36. B | 【解析】JDB 调试器中,whatis 用于查看变量类型。
  37. C | 【解析】GCC 编译时加上 -g 选项才会生成供 gdb 调用的调试信息。
  38. C | 【解析】Makefile 文件中规则是“目标文件 : 依赖源文件”,选项C说法颠倒。
  39. C | 【解析】FTP (File Transfer Protocol) 是文件传输协议。
  40. B | 【解析】Unity 是一款跨平台的游戏开发引擎,不是 Web 框架。

二、填空题

  1. 控制器 | 【解析】CPU的核心部件是运算器和控制器。
  2. 源码包 | 【解析】Linux 软件分源码包与预编译的二进制包(如 rpm)。
  3. 管道符 | 【解析】管道符用于将前一个命令输出传给后一个命令。
  4. 53 | 【解析】DNS 服务标准端口号为 53。
  5. su | 【解析】su 用于切换当前用户身份。
  6. nu=${nu}bbb | 【解析】用 {} 限定变量名边界进行字符串拼接。
  7. mount -a | 【解析】mount -a 读取此配置文件并挂载所有设备。
  8. ifup;ifdown | 【解析】ifup 启动网卡并获取IP,ifdown 停用网卡。
  9. 10,15s/abc/efg | 【解析】vi的替换语法 起始行,结束行s/旧/新/
  10. -L | 【解析】GCC 的 -L 参数用于指定额外的库文件搜索路径。

三、综合应用题

1. 参考答案:
【51】 mkdir /tmp/target
【52】 chmod a+w test.c (或 chmod u+wchmod 777等)
【53】 1,$s/This/That/g (或 1,$s/This/That/g
【54】 dd
【55】 :wq
【56】 scp /tmp/target/test.c [email protected]:/tmp/
【57】 ssh [email protected]
【58】 gcc -g test.c -o mytest
【59】 gdb mytest
【60】 break 3 (或 b 3

2. 参考答案:
【61】 #!/bin/bash
【62】 $[ $m % 100 ] (或 $(($m%100))
【63】 while true (或 while :
【64】 read -p
【65】 break
【66】 elif [ $n -gt $n1 ]
【67】 else
【68】 fi
【69】 done
【70】 echo


全国计算机等级考试Linux应用与开发技术试题(二)

一、单项选择题(共 40 题)

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

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

2. 默认情况下,管理员创建了一个用户,就会在( )目录下创建一个用户主目录。

A. /usrB. /root
C. /homeD. /etc

3. 下面命令的作用是:PS1="[\u\w]\$"; export PS1 ( )

A. 改变错误信息提示B. 改变命令提示符
C. 改变一些终端参数D. 改变辅助命令提示符

4. 查询已安装软件包dhcp所包含文件信息的命令是( )

A. rpm -qa dhcpB. rpm -qf dhcp
C. rpm -qp dhcpD. rpm -ql dhcp

5. 当字符串用单引号括起来时,Shell将( )

A. 解释引号内的特殊字符B. 执行引号中的命令
C. 不解释引号内的特殊字符D. 结束进程

6. 对所有用户的变量设置,应当放在哪个文件下?( )

A. /etc/bashrcB. /etc/profile
C. ~/.bash_profileD. /etc/skel/.bashrc

7. 下列哪个文件定义本地主机名和IP地址间的转换?( )

A. /etc/ip.confB. /etc/resolv.conf
C. /etc/hostsD. /etc/sysconfig/dns

8. 在Linux中,一般用( )命令来查看网络接口的状态。

A. pingB. ipconfig
C. winipcfgD. ifconfig

9. 在接口配置文件中,下列哪一行指定了应该使用DHCP配置接口?( )

A. DHCP=yesB. IPADDR=DHCP
C. ONBOOT=DHCPD. BOOTPROTO=DHCP

10. Linux的日志文件通常保存在( )

A. /var/logB. /usr/adm
C. /etc/D. /var/run

11. Linux系统中常用的日志分析工具( ),能对原始的日志文件进行解析并转换成结构化的文档,也能根据使用情况需求来定制报告。

A. logrotateB. logwatch
C. tailD. lastlog

12. 用于自动补全功能,输入命令或文件的前一个或几个字母之后按什么键?( )

A. ctrlB. tab
C. altD. esc

13. 如果执行命令 chmod 746 file,那么该文件的权限是( )

A. rwxr--rw-B. rw-r--r--
C. --xr--rwxD. rwxr--r--

14. 设用户当前所在目录为 /tmp,以下( )指令可以在当前目录下创建目录 son/grandson,其中子目录 son/ 及其下级目录 grandson/ 当前都不存在。

A. mkdir son/grandsonB. rmdir -p son/grandson
C. rmdir -r son/grandsonD. mkdir -p son/grandson

15. 下面关于文件系统i节点描述错误的是( )

A. i节点和文件一一对应B. i节点能描述文件占用的块数
C. i节点描述了文件大小和指向数据块的指针D. 通过i节点实现文件的逻辑结构和物理结构的转换

16. 把当前目录下的文件file1复制为file2,正确的命令是( )

A. copy file1 file2B. cp file1 | file2
C. cat file2 file1D. cat file1 > file2

17. 了解在当前目录下还有多大空间,可执行命令( )

A. dfB. du /
C. du .D. df .

18. Linux中存放加密用户账户信息的文件是( )

A. /etc/passwdB. /etc/shadow
C. /etc/groupD. /etc/security

19. 下列哪项是Linux系统中以太网网络接口?( )

A. eth0B. eth2
C. net0D. lo

20. 执行以下命令:

[student@localhost ~]$ ls
file1
[student@localhost ~]$ ln -s file1 file2
[student@localhost ~]$ rm file1

下列描述正确的是( )

A. file2也被随之删除B. file2仍存在,但属于无效文件
C. 因为file2未被删除,所以file1会被系统自动重新建立D. file2会随着file1的删除而被系统自动删除

21. 设用户所使用计算机系统上有两块IDE硬盘,Linux系统位于第一块硬盘上,查询第二块硬盘分区情况的命令是( )

A. fdisk -l /dev/hda1B. fdisk -l /dev/hdb2
C. fdisk -l /dev/hdbD. fdisk -l /dev/hda

22. 用 ls -al 命令列出下面的文件列表,( )是符号连接文件。

A. -rw-rw-rw- 2 hel users 56 Sep 09 11:05 helloB. -rwxrwxrwx 2 hel users 56 Sep 09 11:05 goodbey
C. drwxr--r-- 1 hel users 1024 Sep 10 08:10 zhangD. lrwxr--r-- 1 hel users 2024 Sep 12 08:12 cheng

23. 以第三个字段对/etc/passwd的内容排序的命令是( )

A. sort -t : -k 3 -n /etc/passwdB. sort -k 3 -n /etc/passwd
C. sort -t : -c 3 -n /etc/passwdD. sort -c 3 -n /etc/passwd

24. 对于给定的文件file,统计其中所有包含字符串“edu”的行数的一条命令是( )

A. grep "edu" file | wc -lB. grep "edu" file | wc -c
C. find "edu" file | wc -lD. find "edu" file | wc -c

25. 对于用户和用户组,一个用户( )

A. 必须只属于一个组B. 必须属于多个组
C. 可以属于一个组或多个组D. 可以不属于任何组

26. 系统在启动时,通过访问( )文件中的信息来自动挂载(mount)某些硬件设备。

A. /etc/hostsB. /etc/inittab
C. /etc/fstabD. /etc/rc.d/init.d

27. 以下关于parted分区工具叙述正确的是( )

A. parted不能对高于2TB的硬盘分区B. parted不能移动分区
C. parted不能复制分区D. parted对分区的任何改变会立即被写到硬盘中

28. 在vi编辑器中,输入命令“5G”表示( )

A. 将光标移到第5行的行尾B. 将光标移到第5行的行首
C. 将光标移到本行的第五个字符前D. 将光标移到本行的第五个字符后

29. 如果用户想在每次对文件进行编辑时都收到反馈信息,可以输入( )

A. set scroll=0B. set shiftwidth=0
C. set wrapmargin=0D. set report=0

30. Emacs编辑器中将光标向前移动一屏的命令是( )

A. <Ctrl>+vB. <Alt>+v
C. <Ctrl>+bD. <Alt>+b

31. Emacs编辑器模式行的显示模式字段中 ** 表示( )

A. 缓存区未被编辑B. 缓存区中的文本已经被修改
C. 缓存区中的文本未被修改D. 只读缓冲区中的文本已经被修改

32. 在Emacs编辑器中显示的信息为“U:**- example.Txt All L3 [Text]”,则光标处于第( )行。

A. 3B. 1
C. 最后D. 倒数第3

33. 以下协议中,为远程登录会话和其他网络服务提供安全性的协议是( )

A. FTPB. HTTP
C. SSHD. ICMP

34. 为实现SSH免密登录,需要用ssh-keygen命令生成一对密钥,生成的密钥文件存储在( )目录下。

A. etcB. .ssh
C. binD. keys

35. OpenSSH中实现客户端与服务器之间安全的文件传输的命令是( )

A. ftpB. ssh
C. scpD. cp

36. 在GDB调试程序下,若要列出当前断点处的源程序源代码应输入命令( )

A. listB. print
C. showD. disp

37. 在使用GCC编译器的过程中,如果只生成目标文件而不进行连接,需要使用选项( )

A. -SB. -o
C. -cD. -E

38. 用GCC编译一个名为“HelloWorld.c”的C程序文件,编译生成执行文件名为“Hello”,则相应的编译命令是( )

A. gcc -i HelloWorld.c HelloB. gcc -o Hello HelloWorld.c
C. gcc -o HelloWorld.c HelloD. gcc -i Hello HelloWorld.c

39. 安装JDK后,可以输入( )命令,查询已经安装的JAVA版本信息。

A. java -serverB. jdk -version
C. java -helpD. java -version

40. 下列哪一个不是Web应用开发框架?( )

A. SpringB. Unity
C. Struts2D. MyBatis

二、填空题(共 10 题)

  1. 从资源管理的角度来看,操作系统具备五大基本功能:处理器管理、\_\_\_\_\_\_\_\_\_\_、\_\_\_\_\_\_\_\_\_\_、文件管理和作业管理。
  2. 在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或者目录都被看作是一个\_\_\_\_\_\_\_\_\_\_。
  3. Linux文件系统中,点(.)表示当前目录,点点(..)表示\_\_\_\_\_\_\_\_\_\_目录。
  4. 安装Linux系统对硬盘分区时,必须有两种分区类型:Linux文件系统分区(根分区)和\_\_\_\_\_\_\_\_\_\_分区。
  5. 通常用\_\_\_\_\_\_\_\_\_\_命令来测试两台机器间网络的连通性。
  6. 每个设备文件名由主设备号和从设备号描述。第二块IDE硬盘的设备名为 hdb,它上面的第三个主分区对应的文件名是\_\_\_\_\_\_\_\_\_\_。
  7. 用一个命令行读取文件 file 第5~10行:\_\_\_\_\_\_\_\_\_\_。
  8. 列出当前目录下以 abc 开头的文件名,应使用命令\_\_\_\_\_\_\_\_\_\_。
  9. 系统管理员以root账户登录,可以使用\_\_\_\_\_\_\_\_\_\_命令进入普通用户账号,而不必重新登录。
  10. Linux中,可以用\_\_\_\_\_\_\_\_\_\_命令来启动某个系统服务。

三、综合应用题(共 2 题)

1. 假设某服务器IP地址为10.1.1.10,某用户所在客户端IP地址为10.1.1.50。用户在客户端完成了C语言应用程序,相关文件放在 /opt/myproject/ 目录下。用户需要将自已的源程序上传到服务器端进行编译、运行和调试。
(1) 首先用户要用 scp 命令把本地文件目录 /opt/myproject/ 上传至服务器的 /opt/ 目录下,应输入:
[root@localhost]# 【51】\_\_\_\_\_\_\_\_\_\_
(2) 然后,用户使用 ssh 以root身份登录服务器,应输入:
[root@localhost]# 【52】\_\_\_\_\_\_\_\_\_\_
(3) 上传成功,进入服务器 /opt/myproject/ 目录后,用户使用 gcc 编译该目录下的c语言源程序,使用【53】\_\_\_\_\_\_\_\_\_\_编译器选项产生调试信息,使用【54】\_\_\_\_\_\_\_\_\_\_选项将指定目录下的文件加入到程序库文件的搜索目录列表中。
假设源程序 main.c 如下:

#include <stdio.h>
int add(int a, int b) {
    int c = a + b;
    return c;
}
int main(void) {
    int i = 0;
    int j = 3;
    int k = add(i,j);
    printf("i=%d, j=%d, k=%d\n", i,j,k);
    return 0;
}

(4) 加入调试选项进行编译后,启动gdb调试该程序,应输入:【55】\_\_\_\_\_\_\_\_\_\_
(5) 在 int k = add(i,j); 处设置断点,应输入:【56】\_\_\_\_\_\_\_\_\_\_
(6) 然后在gdb的提示符下输入 run 运行程序,程序运行到所设断点处,然后输入【57】\_\_\_\_\_\_\_\_\_\_ 命令执行 int k = add(i,j); 语句,执行完程序停到 printf 处。之后输入【58】\_\_\_\_\_\_\_\_\_\_ 命令继续执行完毕。
(7) 用户进一步将add函数从 main.c 文件中分离出来,放到单独的 add.c 文件中,并打算使用 make 命令进行程序的编译,需要编写【59】\_\_\_\_\_\_\_\_\_\_文件。
(8) 然后执行 make 命令进行编译,当用户需要清理编译生成的可执行程序和中间文件时,应执行【60】\_\_\_\_\_\_\_\_\_\_

2. 当前工作目录下面有三个脚本 ex1,ex2,ex3,写出执行脚本 ex1 后的显示结果:

[student@localhost~]$ cat ex1
export score=100
echo "====="
./ex2
echo "====="
./ex3

[student@localhost~]$ cat ex2
echo "2:"$score
export score=90
./ex3

[student@localhost~]$ cat ex3
echo "3:"$score

(1) 输出结果依次为:
【61】\_\_\_\_\_\_\_\_\_\_
【62】\_\_\_\_\_\_\_\_\_\_
【63】\_\_\_\_\_\_\_\_\_\_
【64】\_\_\_\_\_\_\_\_\_\_
【65】\_\_\_\_\_\_\_\_\_\_
(2) 继续执行以下shell命令:

[student@localhost~]$ touch file1 file2 file3 file4
[student@localhost~]$ echo a > file1
[student@localhost~]$ echo -n a > file2
[student@localhost~]$ for ((i=0; i<4096; i++)); do echo a >> file3; done
[student@localhost~]$ for ((i=0; i<4096; i++)); do echo -n a >> file4; done
[student@localhost~]$ wc -c file? | sort -n

结果是(列出这5行结果输出):
【66】\_\_\_\_\_\_\_\_\_\_
【67】\_\_\_\_\_\_\_\_\_\_
【68】\_\_\_\_\_\_\_\_\_\_
【69】\_\_\_\_\_\_\_\_\_\_
【70】\_\_\_\_\_\_\_\_\_\_


试卷(二) 参考答案与解析

一、单项选择题

  1. B | 【解析】操作系统(OS)是管理计算机硬件与软件资源的程序,属于最基础的系统软件。
  2. C | 【解析】普通用户的默认主目录在 /home 目录下。
  3. B | 【解析】PS1 环境变量用于定义bash主命令提示符的格式。
  4. D | 【解析】rpm -q 用于查询,l 选项表示列出包中包含的所有文件路径。
  5. C | 【解析】单引号(强引用)中的所有字符都作为普通字符处理,不会解析内部的特殊字符(如 $变量 等)。
  6. B | 【解析】/etc/profile 是系统级的全局环境变量配置文件,对所有用户生效。
  7. C | 【解析】/etc/hosts 文件用于静态地定义本地域名(主机名)到 IP 地址的映射。
  8. D | 【解析】Linux 中查看网络接口状态和配置的命令通常是 ifconfig(或 ip addr)。
  9. D | 【解析】在网卡配置文件中,BOOTPROTO=dhcp 指定接口通过 DHCP 动态获取 IP。
  10. A | 【解析】Linux 系统的各类服务日志默认都存放在 /var/log 目录下。
  11. B | 【解析】logwatch 是一款日志分析工具,能解析日志并生成结构化的报告。
  12. B | 【解析】Tab 键在 Shell 终端中用于命令自动补全或文件路径自动补全。
  13. A | 【解析】权限 746 对应:所有者 7 (rwx),组 4 (r--),其他人 6 (rw-),即 rwxr--rw-
  14. D | 【解析】mkdir -p 可以递归创建多级目录,当父目录不存在时会自动创建父目录。
  15. A | 【解析】硬链接的存在导致多个文件名可以对应(指向)同一个 i节点,所以“一一对应”的说法是错误的。
  16. D | 【解析】cp (copy) 命令用于复制文件。
  17. C | 【解析】du . 用于查看当前目录(及其子目录)内文件占用的磁盘空间大小。
  18. B | 【解析】/etc/passwd 存基本信息,/etc/shadow 存经过单向加密的用户密码,被称为“影子文件”。
  19. B | 【解析】Linux 系统中以太网接口通常命名为 ethX(如 eth0, eth1, eth2 等)。
  20. B | 【解析】ln -s 创建的是软链接。删除源文件 file1 后,软链接 file2 会变成死链接(无效文件),但它依然存在于目录中,系统不会自动删除它。因此B描述是正确的客观事实。
  21. C | 【解析】第一块IDE硬盘是 /dev/hda,第二块是 /dev/hdb。查看分区情况用 fdisk -l /dev/hdb
  22. D | 【解析】ls -alls -l 可以列出文件详细信息,首字符为 l 即可判定为符号链接文件。
  23. A | 【解析】sort 命令:-t: 指定分隔符为冒号,-k 3 指定按第三个字段排序,-n 按照数值大小排序。
  24. A | 【解析】grep 用于查找包含指定字符串的行,| 管道符将其传给 wc -l 用于统计这些行的行数。
  25. C | 【解析】在 Linux 中,一个用户必须属于一个主用户组,同时也可以加入多个附加组。
  26. C | 【解析】系统启动时会自动读取 /etc/fstab 配置文件中的信息来挂载磁盘分区和硬件设备。
  27. D | 【解析】parted 工具的特点是其对分区的修改是实时生效的,会立即影响到硬盘分区表。并且它支持大于 2TB 的磁盘分区。
  28. B | 【解析】在 vi 中,nG 命令用于将光标跳转到第 n 行的行首。
  29. D | 【解析】在 vi 编辑器中,设置 set report=0 可以让任何行数的修改都触发底部的反馈提示。
  30. A | 【解析】Emacs 中,Ctrl+v 用于向下翻页(向前移动一屏)。
  31. B | 【解析】Emacs 底部状态栏如果显示 **,代表当前缓冲区(文件)已被修改但尚未保存。
  32. A | 【解析】状态栏中的 L3 (Line 3) 表示当前光标位于第 3 行。
  33. C | 【解析】SSH (Secure Shell) 是通过加密方式为远程登录提供安全保障的网络协议。
  34. B | 【解析】由 ssh-keygen 生成的用户密钥对默认保存在用户主目录下的 .ssh 隐藏目录中。
  35. C | 【解析】scp (Secure Copy) 是基于 SSH 协议实现的安全文件传输命令。
  36. A | 【解析】在 GDB 调试器中,list (或 l) 命令用于列出当前断点附近的源代码。
  37. C | 【解析】GCC 编译时加上 -c 选项,表示只编译源文件生成目标文件(.o),不进行最后的链接过程。
  38. B | 【解析】GCC 命令中,-o 选项后面必须紧跟要生成的输出文件名。即 gcc -o Hello HelloWorld.c
  39. D | 【解析】安装 JDK 后,通过执行 java -version 可以查看当前环境的 Java 版本信息。
  40. B | 【解析】Spring、Struts2、MyBatis 均属于 Java Web 开发相关的框架;Unity 是用于游戏开发的跨平台引擎。

二、填空题

  1. 存储管理;设备管理 | 【解析】操作系统的五大基本功能包含作业管理。
  2. 文件 | 【解析】Linux 遵循“一切皆文件”的设计理念,硬件设备也映射为文件。
  3. 上一级目录 | 【解析】. 表示当前,.. 表示父目录(上一级目录)。
  4. 交换分区(或 swap) | 【解析】通常必须划分 / 根分区和 swap 虚拟内存分区。
  5. ping | 【解析】利用 ping 命令检测网络连通性。
  6. hdb3 | 【解析】第二块硬盘为 hdb,第三个主分区编号为 3
  7. head -10 file | tail -6 | 【解析】先取前10行,再取这10行的最后6行。
  8. ls . | grep "^abc" | 【解析】* 匹配后面任意字符。
  9. su | 【解析】使用 su username 切换账号。
  10. service | 【解析】servicesystemctl 用于管理系统服务。

三、综合应用题

1. 参考答案:
【51】 scp -r /opt/myproject/ [email protected]:/opt/
【52】 ssh [email protected]
【53】 -g
【54】 -L
【55】 gdb main (假设编译输出的可执行文件为main)
【56】 break 11 (或 b 11,根据代码行数定位)
【57】 next (或 n,不进入函数内部直接执行完当前行)
【58】 continue (或 c,继续运行直到结束)
【59】 Makefile (或 makefile)
【60】 make clean

2. 参考答案:
【61】 =====
【62】 2:100 (ex2继承ex1环境变量)
【63】 3:90 (ex3被ex2调用,继承被ex2修改为90的变量)
【64】 =====
【65】 3:100 (ex1的环境变量并未被子进程ex2的修改影响,传给再次调用的ex3仍是100)
【66】 1 file2 (无换行符的a,1字节)
【67】 2 file1 (带换行符的a,2字节)
【68】 4096 file4 (4096个无换行的a,4096字节)
【69】 8192 file3 (4096个带换行的a,8192字节)
【70】 12291 total (1+2+4096+8192 的总和)


全国计算机等级考试Linux应用与开发技术试题(三)

一、单项选择题(共 40 题)

1. 下列操作系统特征中,( )是操作系统最重要的特征,其它三个都以它为前提。

A. 共享B. 并发
C. 虚拟D. 异步

2. 默认情况下,管理员创建了一个用户,就会在( )目录下创建一个用户主目录。

A. /usrB. /home
C. /rootD. /etc

3. "cd" 命令可以改变用户的当前目录。当用户输入命令 "cd" 并按Enter键后( )

A. 当前目录改为根目录B. 当前目录不变,屏幕显示当前目录
C. 当前目录改为用户home目录D. 当前目录改为上一级目录

4. 在Shell脚本中,用来读取键盘输入内容并将其赋值给Shell变量的命令是( )

A. foldB. join
C. trD. read

5. 下面用于定义Shell全局变量的命令是( )

A. exportfsB. alias
C. exportsD. export

6. 为卸载一个软件包,应使用( )

A. rpm -iB. rpm -e
C. rpm -qD. rpm -V

7. 如果想列出一个目录下的所有文件,但不包括 "."".." 这两个目录,需要使用命令行( )

A. ls -lB. ls
C. ls -aD. ls -A

8. 当使用mount进行设备或者文件系统挂载的时候,需要用到的设备名称位于( )目录。

A. /homeB. /bin
C. /etcD. /dev

9. 以下可以终止一个用户所有进程的命令是( )

A. skillallB. skill
C. killD. killall

10. Linux文件系统中的文件有三个时间戳,下列哪一个不是Linux文件时间戳?( )

A. 创建时间B. 修改时间
C. 访问时间D. 状态改变时间

11. 关于文件 /etc/sysconfig/network-scripts/ifcfg-eth0 的描述哪个是正确的?( )

A. 它是一个系统脚本文件B. 它是可执行文件
C. 它存放本机的名字D. 它指定本机eth0的IP地址

12. 用户编写了一个文本文件atxt,想将该文件名称改为txta,下列哪个命令可以实现?( )

A. cd atxt txtaB. echo atxt > txta
C. rm atxt txtaD. mv atxt txta

13. 下列文件中,包含了本地主机名到IP地址的映射关系的文件是( )

A. /etc/HOSTNAMEB. /etc/hosts
C. /etc/resolv.confD. /etc/networks

14. 当用户与某远程网络连接不上时,就需要跟踪路由查看,以便了解在网络的什么位置出现了问题,满足该目的的命令是( )

A. pingB. checkroute
C. tracerouteD. netstat

15. 在给定文件中查找与设定条件相符的字符串的命令为( )

A. grepB. gzip
C. findD. sort

16. 在Linux中,更改普通用户为超级用户的命令是( )

A. superB. su
C. tarD. passwd

17. 以下经常用于分屏显示文件内容的命令是( )

A. lsB. cat
C. fileD. more

18. 以下不是文件或目录访问权限的是( )

A. rB. w
C. gD. x

19. 在Linux目录结构中,Linux的内核及引导程序所需要的文件位于( )目录。

A. /binB. /boot
C. /rootD. /proc

20. 文件exer1的访问权限为 rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是( )

A. chmod a+x,g+w exer1B. chmod 765 exer1
C. chmod o+x exer1D. chmod g+w exer1

21. 在Linux系统中添加新用户的命令是( )

A. groupaddB. usermod
C. userdelD. useradd

22. 系统服务的启动脚本通常都存放在( )目录中。

A. /etc/init.d/B. /bin/init.d/
C. /etc/init/D. /bin/init

23. 以下日志等级最高(最严重)的是( )

A. infoB. alert
C. noticeD. warning

24. 当进程当前分配的时间片用完时,进程状态会转换为( )

A. 运行态B. 就绪态
C. 等待态D. 终止态

25. 存放用户账号基本信息的文件是( )

A. shadowB. group
C. passwdD. gshadow

26. 检查磁盘空间占用情况应该使用哪个命令?( )

A. df -kB. ps -k
C. formatD. disk

27. 下列哪个命令可以查看系统中所有进程?( )

A. psB. ps -la
C. topD. ps -le

28. 在vi编辑器里,命令 dd 用来删除当前的( )

A. 行B. 变量
C. 字D. 字符

29. 在vi编辑器中,哪条命令是不保存强制退出?( )

A. :wqB. :wq!
C. :q!D. :quit

30. 在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用( )命令。

A. 上箭头B. 下箭头
C. “.”D. “*”

31. 在vi编辑器打开文档,默认是不显示行号的,输入( )让它显示行号。

A. set rulerB. set nu
C. set icD. set nonu

32. 以下哪种不是vi编辑器的工作模式?( )

A. 命令模式B. 编辑模式
C. 末行模式D. 检查模式

33. 编辑 .bashrc 配置完java环境变量,在终端应执行( )命令使环境变量立即生效。

A. source ~/.bashrcB. export ~/.bashrc
C. ~/.bashrcD. ~/.bashrc &

34. 以下哪个GDB调试命令是单步执行下一条语句,如遇到函数则进入函数内部?( )

A. nextB. step
C. nextiD. stepi

35. gcc可以对编译阶段进行控制,其中( )选项设定库文件的路径。

A. -L pathB. -l path
C. -l libraryD. -static

36. 使用scp从服务器10.1.0.2下下载目录 /opt/www/ 到本地目录 /opt 下的命令是( )

A. scp -r /opt/ [email protected]:/opt/www/B. scp [email protected]:/opt/www/ /opt/
C. scp -r [email protected]:/opt/www/ /opt/D. scp /opt /[email protected]:/opt/www/

37. 在GDB调试程序时,若需要查看当前断点处的堆栈情况应输入命令( )

A. lB. bt
C. sD. disp

38. 为了使生成的目标文件能够用于GDB调试,在编译时GCC应使用( )选项。

A. -cB. -w
C. -gD. -o

39. Apache服务器是( )

A. DNS服务器B. Web服务器
C. FTP服务器D. Sendmail服务器

40. 以下不是开源的Web服务器的是( )

A. ApacheB. Nginx
C. TomcatD. IIS

二、填空题(共 10 题)

  1. 多道程序环境下,操作系统分配资源以\_\_\_\_\_\_\_\_\_\_为基本单位。
  2. \_\_\_\_\_\_\_\_\_\_是用来连接多条命令的,前一个命令的输出是下一个命令的输入。
  3. 在Linux操作系统中,设备都是作为特殊的\_\_\_\_\_\_\_\_\_\_来访问。
  4. MVC框架将应用程序分成了三个核心部件:模型、\_\_\_\_\_\_\_\_\_\_、控制器。
  5. 命令\_\_\_\_\_\_\_\_\_\_显示文件系统空间使用情况,命令\_\_\_\_\_\_\_\_\_\_显示目录或文件占用磁盘空间量。
  6. 每块设备文件名由主设备号和从设备号描述。第三块IDE硬盘的设备名为\_\_\_\_\_\_\_\_\_\_,它上面的第二个主分区对应的文件名是\_\_\_\_\_\_\_\_\_\_。
  7. 将光盘 /dev/cdrom 卸载的命令是\_\_\_\_\_\_\_\_\_\_。
  8. 想知道当前目录的绝对路径,可以在字符界面下输入\_\_\_\_\_\_\_\_\_\_命令。
  9. 统计当前有多少用户正在使用系统的一行命令是\_\_\_\_\_\_\_\_\_\_。
  10. 用GDB调试时,如果想把变量 i=6 在15行设置断点,应输入命令\_\_\_\_\_\_\_\_\_\_。

三、综合应用题(共 2 题)

1. 假设某用户所在客户端IP地址为10.1.1.60,服务器IP地址为10.1.1.5。该用户要以zhangsan的身份ssh远程登录到服务器上,编写和运行一个C语言程序。
(1) 首先,用户应输入如下命令登录服务器:
[[email protected]]# 【51】\_\_\_\_\_\_\_\_\_\_
(2) 为实现免密登录,可用【52】\_\_\_\_\_\_\_\_\_\_命令生成密钥对,在客户端保存私钥,服务器端保存公钥。
(3) 登录服务器后,用户启动emacs,先按 <Ctrl>+x 组合键,再按 <Ctrl>+【53】\_\_\_\_\_\_\_\_\_\_组合键,新建文件 test.c
(4) 编辑文件后按 <Ctrl>+x<Ctrl>+【54】\_\_\_\_\_\_\_\_\_\_组合键保存并退出emacs。
(5) 接着用户编辑 makefile 文件如下:

test: test.o
    gcc -o test test.o
test.o: test.c
    【55】__________
clean:
    【56】__________ test test.o

(6) 执行make命令进行编译,编译成功后输入如下命令在后台运行test程序:
[[email protected] ~]$ 【57】\_\_\_\_\_\_\_\_\_\_
(7) 用户使用【58】\_\_\_\_\_\_\_\_\_\_命令查看当前登录产生的进程(如下所示):

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 1555 1554 0 80 0 - 28893 do_wai pts/0 00:00:00 bash
0 S 1000 1677 1555 0 80 0 - 7774 futex_ pts/0 00:00:00 test
0 R 1000 1681 1555 0 80 0 - 38301 - pts/0 00:00:00 ps

(8) 由于 test 程序执行时间过长,用户输入以下命令强制结束该进程:
[[email protected] ~]$ 【59】\_\_\_\_\_\_\_\_\_\_
(9) 之后执行【60】\_\_\_\_\_\_\_\_\_\_清理编译生成的可执行程序和中间文件。

2. 编写shell脚本实现石头、剪刀、布游戏如下:

【61】__________
#编写脚本,实现人机<石头,剪刀,布>游戏
#出拳的可能性保存在一个数组中,game[0],game[1],game[2]分别是3中不同的可能
game=(石头 剪刀 布)
#通过随机数获取计算机的出拳
num=【62】__________
#通过num和game确定计算机的出拳
computer=【63】__________
echo "请根据下列提示选择您的出拳手势"
echo "1.石头"
echo "2.剪刀"
echo "3.布"
【64】__________ "请选择1-3:" person
case $person 【65】__________
1)
    if [ $num -eq 0 ]
    then
        echo "平局"
    elif [ $num -eq 1 ]
    then
        echo "你赢"
    else
        echo "计算机赢"
    fi;;
2)
    if [ $num -eq 0 ]
    then
        【66】__________
    elif [ $num -eq 1 ]
    then
        【67】__________
    else
        【68】__________
    fi;;
3)
    if [ $num -eq 0 ]
    then
        echo "你赢"
    elif [ $num -eq 1 ]
    then
        echo "计算机赢"
    else
        echo "平局"
    fi;;
【69】__________
    echo "必须输入 1-3 的数字"
【70】__________
#显示计算机的出拳
echo "计算机的出拳是:" $computer

试卷(三) 参考答案与解析

一、单项选择题

1-5: BBCDD | 6-10: BDDDA | 11-15: DDBCA | 16-20: BDCBA
21-25: DABBC | 26-30: ADACC | 31-35: BDABA | 36-40: CBCBD

(因选择题解析与前文一致,为节省篇幅此处省略具体文字)

二、填空题

  1. 进程 | 【解析】进程是资源分配和调度的基本单位。
  2. 管道符 | 【解析】管道机制允许将一个命令的标准输出直接作为另一个命令的标准输入。
  3. 文件 | 【解析】设备文件位于 /dev 目录下,Linux中“一切皆文件”。
  4. 视图 | 【解析】MVC模式即 Model(模型)、View(视图)、Controller(控制器)。
  5. df;du | 【解析】df 查看文件系统空间;du 查看目录及文件占用磁盘空间量。
  6. hdc;hdc2 | 【解析】第三块IDE为 hdc,第二个主分区为 2
  7. umount /dev/cdrom | 【解析】卸载文件系统使用 umount 命令。
  8. pwd | 【解析】pwd (print working directory) 显示当前绝对路径。
  9. who | wc -l | 【解析】who 列出登录用户,管道给 wc -l 统计行数。
  10. b 15 if i==6 | 【解析】GDB中 b 设置断点,15 为行号,if i==6 为条件。

三、综合应用题

1. 参考答案:
【51】 ssh [email protected]
【52】 ssh-keygen
【53】 f (注:新建/打开文件是 Ctrl+x Ctrl+f
【54】 s (注:保存文件是 Ctrl+x Ctrl+s
【55】 gcc -c test.c
【56】 rm
【57】 ./test &
【58】 ps -l (从输出格式带 UID, PID, PPID 看出是长格式)
【59】 kill 1677 (强制结束PID为1677的test进程,也可写 kill -9 1677
【60】 make clean

2. 参考答案:
【61】 #!/bin/bash
【62】 $[ RANDOM % 3 ] (或 $(($RANDOM%3))
【63】 ${game[$num]}
【64】 read -p
【65】 in
【66】 echo "计算机赢" (用户出剪刀2,电脑出石头0)
【67】 echo "平局" (用户出剪刀2,电脑出剪刀1)
【68】 echo "你赢" (用户出剪刀2,电脑出布2)
【69】 *) (case语句的默认分支)
【70】 esac


全国计算机等级考试Linux应用与开发技术试题(四)

一、单项选择题(共 40 题)

1. Linux是“free software”,free的含义是( )

A. 使用Linux不需要付费B. Linux发行商不能向任何用户收费
C. Linux可以自由修改和发布D. 只有Linux开发者才能向用户收费

2. 改变bash的提示符实际上就是改变变量( )

A. $HOMEB. $PWD
C. $PS1D. $PS2

3. 下列对shell变量FRUIT的操作中,正确的是( )

A. 为变量赋值:$FRUIT=appleB. 显示变量的值:fruit=apple
C. 显示变量的值:echo $FRUITD. 判断变量是否有值:[ -f $FRUIT ]

4. 下面哪项不属于shell中的通配符?( )

A. *B. ?
C. #D. [ ]

5. 下列变量名中有效的shell变量名是( )

A. -2-timeB. _2$3
C. trust_no_1D. 2004file

6. 从后台启动进程,应在命令的结尾加上符号( )

A. &B. @
C. #D. $

7. 在Linux中,每个进程都由一个唯一的ID号来标识,这个ID是( )

A. NIDB. PID
C. UIDD. CID

8. 下列关于链接描述,错误的是( )

A. 硬链接就是让链接文件的i节点号指向被链接文件的i节点B. 硬链接和符号链接都是产生一个新的i节点
C. 链接分为硬链接和符号链接D. 硬链接不能链接目录文件

9. 对file文件执行 chmod 551 file 进行了修改,则它的权限是( )

A. -rwxr-xr-xB. -rwxr--r--
C. -r--r--r--D. -r-xr-x--x

10. Linux文件系统的文件都按其作用分门别类地存放在相应的目录中,对于外部设备文件,一般应将其放在( )目录中。

A. /binB. /etc
C. /devD. /lib

11. 超级用户root当前所在目录为 /usr/local,键入 cd 命令后,用户当前所在目录为( )

A. /homeB. /root
C. /home/rootD. /usr/local

12. 分页显示当前目录下所有文件的文件名和目录名、用户组、用户、文件大小、文件或目录权限、文件创建时间等信息的命令是( )

A. more ls -alB. more -al ls
C. more < ls -alD. ls -al | more

13. 系统中有一用户user1和user2,同属于users组。在user1用户目录下有一文件file1,如果user2用户想修改user1用户目录下的file1文件,应拥有( )权限。

A. 744B. 664
C. 646D. 746

14. 假设umask为002,则新建立的文件的权限是( )

A. rw-rw-r--B. rwxrwx-w-
C. -------w-D. rwxrwxr-x

15. 下面哪个命令不是磁盘管理命令?( )

A. ddB. du
C. dfD. fsck

16. 在ps的返回信息中,其中stat标记位显示为z,该显示表示该进程( )

A. 正在运行B. 僵死
C. 睡眠D. 停止

17. 编辑和编译在产生许多临时文件,所以在源代码软件安装包完成后,通常使用命令( )清除临时文件。

A. make tidyB. make close
C. make clearD. make clean

18. 匹配以 .001 结尾的行,可以使用正则表达式( )

A. ^001B. 001$
C. *001D. /001

19. 每个硬盘主分区的个数最多可以有( )

A. 1个B. 3个
C. 4个D. 无限制

20. 让普通用户以超级管理员的身份执行文件,应用命令( )来修改文件权限。

A. chmod a+vB. usermod a+v
C. chmod u+sD. usermod a+s

21. 下面关于passwd命令的说法错误的是( )

A. 普通用户可以用passwd命令修改自己的密码B. 超级用户可以用passwd命令修改自己和其他用户的密码
C. 普通用户不可以用passwd命令修改其他用户的密码D. 普通用户可以用passwd命令修改自己和其他用户的密码

22. 当父目录不存在的时候,用mkdir命令创建新目录应添加参数( )

A. -PB. -d
C. -fD. -p

23. 卸载一个软件包,应用用命令( )

A. rpm -iB. rpm -e
C. rpm -qD. rpm -V

24. 观察系统动态进程的命令是( )

A. freeB. top
C. lastcommD. df

25. 在给定文件中查找与设定条件相符的字符串的命令为( )

A. grepB. gzip
C. findD. sort

26. 引用useradd命令添加新用户时,使用( )参数可以指定用户目录。

A. -dB. -p
C. -uD. -c

27. Linux缺省的文件系统是( )

A. VFATB. ISO9660
C. EXT系列D. NTFS

28. 在vi编辑器中,保存并强制退出的命令是( )

A. :wqB. :wq!
C. :q!D. :quit

29. 退出交互模式的shell,应键入( )

A. :wq!B. <ctrl>+q
C. exitD. quit

30. 以下不是vi工作模式的是( )

A. 命令模式B. 删除模式
C. 编辑模式D. 末行模式

31. 在vi中,输入哪条命令可以撤销上次操作?( )

A. dB. u
C. $D. x

32. 在vi编辑器的命令模式下,键入( )可在光标当前行下添加一新行。

A. OB. o
C. iD. a

33. 下列哪项命令常用于检测网络主机是否可达?( )

A. sshB. netstat
C. pingD. exit

34. 实现从IP地址到以太网MAC地址转换的命令为( )

A. pingB. ifconfig
C. arpD. traceroute

35. telnet服务通常使用哪个服务端口?( )

A. 20B. 21
C. 22D. 23

36. NFS提供的服务是( )

A. 文件服务B. 远程登录
C. 共享服务D. 配置IP地址

37. 关于SSH描述正确的是( )

A. 需要启动sshd服务B. 采用加密的方式保证连接安全
C. 监听TCP 22端口D. 以上都正确

38. SSH服务端默认的配置文件是( )

A. /etc/ssh/sshd.confB. /etc/sshd.conf
C. /etc/ssh.confD. /etc/ssh/sshd_config

39. 配置Apache服务器需要修改的配置文件为( )

A. httpd.confB. access.conf
C. srm.confD. named.conf

40. Apache服务器默认的监听连接端口号是( )

A. 1024B. 800
C. 80D. 8

二、填空题(共 10 题)

  1. 在Linux的两种链接文件方式中,\_\_\_\_\_\_\_\_\_\_不能实现对目录链接。
  2. 在Linux操作系统中,设备文件分为块设备文件和\_\_\_\_\_\_\_\_\_\_设备文件。
  3. vi编辑器的默认模式是\_\_\_\_\_\_\_\_\_\_。任何时候,不管用户处于何种工作模式,按下ESC键,即可进入该模式。
  4. 执行一个shell命令时,通常会自动打开三个标准文件,标准输入文件(stdin),它对应的设备是\_\_\_\_\_\_\_\_\_\_,另外两个则分别是标准输出文件(stdout)和标准错误输出文件(stderr)。
  5. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为\_\_\_\_\_\_\_\_\_\_。
  6. mv 命令用来将文件从一个目录移到另一个目录中,还可以对文件\_\_\_\_\_\_\_\_\_\_。
  7. 在linux系统中,所有的变量都默认是字符串,如果进行算术运算,将变量a和b的值相加,赋给变量c,其语法格式为\_\_\_\_\_\_\_\_\_\_。
  8. 给出一分命令统计当前工作目录下所有以m开头的C语言源文件的数量\_\_\_\_\_\_\_\_\_\_。
  9. 在linux系统中,用gcc编译c语言的源文件 f1.c,生成可执行文件 f1 的命令是\_\_\_\_\_\_\_\_\_\_。
  10. Linux系统的守护进程及多数日志文件是由\_\_\_\_\_\_\_\_\_\_服务来统一管理的,只要各个进程将信息给予这个服务,它就会自动地把日志按特定的格式记录到不同的日志文件中。

三、综合应用题(共 2 题)

1. (1) 当前目录下存放下列文件:

[student@localhost~]$ ls
bgi bin doc dosbox email
exam  glasslib  include iomega lib
objs  offices source sys

则执行下列命令后,结果是
[student@localhost~]$ ls [abc]*
【51】\_\_\_\_\_\_\_\_\_\_
[student@localhost~]$ ls s[m-ox-z]*
【52】\_\_\_\_\_\_\_\_\_\_
[student@localhost~]$ ls ?i?
【53】\_\_\_\_\_\_\_\_\_\_
[student@localhost~]$ ls [!a-go-z]*
【54】\_\_\_\_\_\_\_\_\_\_
[student@localhost~]$ ls [eo]???
【55】\_\_\_\_\_\_\_\_\_\_

(2) 已知脚本sh01能接收用户从键盘输入的若干个整数,然后输出其最大值和最小值,如下:

[student@localhost~]$ cat sh01
#! /bin/bash
echo -n "please input the data:"
read x
max=$x
min=$x
while
【56】__________
do
    if 【57】__________
    then
        max=$x
    fi
    if 【58】__________
    then
        min=$x
    fi
done
echo max= $max
echo min=$min

查询权限:
[student@localhost~]$ ls -l sh01
5756126 -rw-r--r-- 1 student student 34 2020-1-21 sh01
则运行该脚本,应执行以下命令:
【59】\_\_\_\_\_\_\_\_\_\_
【60】\_\_\_\_\_\_\_\_\_\_

2. 已知目录状态:

[student@localhost~]$ ls
file1 file2 file3 file4
[student@localhost~]$ x=*

(1) 则执行下列命令后,得到的输出结果是:
[student@localhost~]$ echo $x
【61】\_\_\_\_\_\_\_\_\_\_
[student@localhost~]$ echo '$x'
【62】\_\_\_\_\_\_\_\_\_\_
[student@localhost~]$ echo "$x"
【63】\_\_\_\_\_\_\_\_\_\_
[student@localhost~]$ ls file || echo "not exist" && echo "exist"
【64】\_\_\_\_\_\_\_\_\_\_
【65】\_\_\_\_\_\_\_\_\_\_

(2) 已知 [student@localhost~]$ nu=aaa,分别执行下列命令后,得到的输出结果是:
[student@localhost~]$ nu="$nu"bbb
[student@localhost~]$ echo $nu
【66】\_\_\_\_\_\_\_\_\_\_
[student@localhost~]$ nu={$nu}bbb
[student@localhost~]$ echo $nu
【67】\_\_\_\_\_\_\_\_\_\_
[student@localhost~]$ nu=${nu}bbb
[student@localhost~]$ echo $nu
【68】\_\_\_\_\_\_\_\_\_\_
若继续执行
[student@localhost~]$ nu1=111
[student@localhost~]$ nu2=222
[student@localhost~]$ nu3=$nu1+$nu2
[student@localhost~]$ echo $nu3
则输出结果为:
【69】\_\_\_\_\_\_\_\_\_\_
继续执行
[student@localhost~]$ city=(Beijing Shanghai)
[student@localhost~]$ echo $city[0]
则输出结果为:
【70】\_\_\_\_\_\_\_\_\_\_


试卷(四) 参考答案与解析

一、单项选择题

1-5: CCCCC | 6-10: ABBDC | 11-15: BDBAA | 16-20: BDBCC
21-25: DDBBA | 26-30: ACBCB | 31-35: BBCCD | 36-40: CDDAC

(因选择题解析与前文一致,为节省篇幅此处省略具体文字)

二、填空题

  1. 硬链接 | 【解析】Linux系统不允许对目录创建硬链接以避免目录环路,只允许软链接。
  2. 字符设备 | 【解析】设备文件主要分为字符设备(char)和块设备(block)。
  3. 命令模式 | 【解析】启动vi或按ESC后进入的都是命令模式。
  4. 键盘 | 【解析】Shell默认打开0(stdin), 1(stdout), 2(stderr)。
  5. 644 | 【解析】权限位 rw- (6), r-- (4), r-- (4)。
  6. 重命名 | 【解析】mv 既可移动文件,又可在原路径下重命名。
  7. let c=a+b((c=a+b)) | 【解析】双圆括号 (( )) 是Shell中进行整数算术运算的标准语法。
  8. ls m*.c | wc -l | 【解析】用通配符列出目标文件并用 wc -l 统计数量。
  9. gcc f1.c -o f1 | 【解析】使用 -o 选项指定输出的二进制可执行文件名。
  10. rsyslogd | 【解析】rsyslogd 是CentOS/RHEL中负责收集和管理系统日志的服务守护进程。

三、综合应用题

1. 参考答案:
【51】 bgi bin (匹配a/b/c开头的)
【52】 source sys (匹配s开头,第二个字母在m-o或x-z之间的)
【53】 bin lib (匹配中间是i的三个字符的单词)
【54】 include iomega lib (不匹配a-g和o-z开头的,即只匹配h-n开头的)
【55】 exam objs (匹配e或o开头,后接3个任意字符的,共4个字符长度)
【56】 read x (读取循环内的输入)
【57】 [ $x -gt $max ] (如果x大于max,则更新max)
【58】 [ $x -lt $min ] (如果x小于min,则更新min)
【59】 chmod u+x sh01 (或者 chmod a+x sh01,赋予执行权限)
【60】 ./sh01 (执行脚本)

2. 参考答案:
【61】 file1 file2 file3 file4 (通配符展开)
【62】 $x (单引号强引用,不解析变量)
【63】 * (双引号弱引用,解析变量x的值,x本就是字面量 *,未遇到文件操作时仅作字符串)
【64】 not existls file 报错,执行 || 后的命令)
【65】 exist (前面 echo 成功,继续执行 && 后的命令)
【66】 aaabbb (替换变量拼接)
【67】 {aaa}bbb (大括号作为普通字符输出)
【68】 aaabbb${nu} 是标准的变量边界限定符,原nu为aaa,拼接后覆盖原值,此时再输出为aaabbb)
【69】 111+222 (Shell变量默认当字符串处理,没有使用 $(())let 则不进行数学计算)
【70】 Beijing[0] (由于Shell数组通常写为 ${city[0]},直接写 $city[0]$city 取数组第一个元素 Beijing,后面的 [0] 作为普通字符追加在后面)


全国计算机等级考试Linux应用与开发技术试题(五)

一、单项选择题(共 40 题)

1. 以下Linux内核版本属于稳定版的是( )

A. 4.6.22B. 2.5.32
C. 3.3.21D. 4.5.24

2. 以下不属于Linux发行版本的是( )

A. GentooB. Debian
C. SolarisD. Fedora

3. 用来查看当前Linux发行版使用了哪种桌面的环境变量是( )

A. DESKTOP_SESSIONB. DESKTOP
C. DESKTOP_SHOWD. DESKTOP_ENV

4. Linux文件有三种时间戳,以下错误的是( )

A. mtimeB. ntime
C. ctimeD. atime

5. 命令行 echo -e "ab\bc" 的结果是( )

A. acB. abc
C. abbcD. ab\bc

6. 为显示当前已经登录的用户信息,包括用户执行任务的情况,应执行命令( )

A. psB. who
C. who -lD. w -s

7. 用 ps -le 命令列出系统中所有进程的详细信息如下:

[root@localhost ~]# ps -le
 
FSUIDPIDPPIDC PRINIADDRSZWCHAN TTYTIMECMD
4S0100 80-10-18- ?00:00:01init
1I0320 6015-12- ?00:00:00rcu_gp
5S06320 80-15-10- ?00:00:00cpuhp
1S01220 9--8- ?00:00:02migration

优先级最高的进程是( )

A. rcu_gpB. init
C. cpuhpD. migration

8. 在bash中,export 命令的作用是( )

A. 为其它应用程序设置环境变量B. 在子shell中运行命令
C. 使在子shell中可以使用命令历史记录D. 提供NFS分区给网络中的其它程序使用

9. 用来装载所有在 /etc/fstab 中定义的文件系统的命令是( )

A. amountB. mount -a
C. fmountD. mount -f

10. 显示一个文件最后几行内容的命令是( )

A. tailB. tac
C. rearD. last

11. 使用 ln 命令生成一个指向文件old的符号链接new,如果将文件夹old删除,是否还能够访问文件中的数据?( )

A. 仍旧可以访问B. 不能再访问
C. 能否访问取决于文件夹之下文件的所有者D. 能否访问取决于文件的权限

12. 显示Linux系统中已注册的用户数(包含系统用户)的命令是( )

A. wc --lines /etc/passwdB. nl /etc/passwd | head
C. wc --users /etc/passwdD. account -l

13. 下面不能用来查看网络故障的命令是( )

A. netstatB. ping
C. tracerouteD. init

14. 删除非空子目录 /tmp ,应使用命令( )

A. rm -rf /tmpB. del /tmp/*
C. rm -Ra /tmp/*D. rm -rf /tmp/*

15. Linux系统中,文件描述符0表示( )

A. 标准输出设备B. 标准输入设备
C. 管道D. 标准错误输出设备

16. 如果想列出当前目录及其子目录下所有扩展名为“.txt”的文件,可以使用命令( )

A. find . -name "*.txt"B. ls *.txt
C. ls -d .txtD. find . ".txt"

17. 执行命令 chmod 664 file1 后,该文件的访问权限是( )

A. rw-r-r--B. rw-rw-r--
C. rwxr--rw-D. rwxrw-rw-

18. 下列可以设定使用者密码的命令是( )

A. passwordB. pwd
C. newpwdD. passwd

19. 以下可以切换使用者身份的命令是( )

A. suB. who
C. logD. passwd

20. 用户组的密码信息存储在哪个文件?( )

A. shadowB. group
C. passwdD. gshadow

21. 文本文件fruits内容示例如下:

banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4

该文件有三列(冒号隔开),分别表示水果名称、数量和价格。如果想以水果数量从多到少排序,可执行命令( )

A. sort -r -n -k 2 -t ":" fruitsB. sort -r -n -k 1 -t ":" fruits
C. sort -n -k 2 -t ":" fruitsD. sort -n -k 1 -t ":" fruits

22. 下列关于kill命令的说法错误的是( )

A. 使用kill命令一定可以终止一个进程B. kill命令只能识别 PID,而不识别进程名
C. kill命令用来向进程发送一个信号D. kill -9常用来强制中止进程

23. 在 top 命令的显示窗口中,如果要使显示按照内存占用率排序,则应按下( )

A. mB. M
C. pD. q

24. 为了显示当前目录下的磁盘占用量大小,应使用命令( )

A. du -shB. df
C. ls -lD. ls -r

25. 能够列出系统中的所有可用于块设备的信息,并显示他们之间依赖关系的命令是( )

A. lscpuB. dmesg
C. vmstatD. lsblk

26. 可以配置机器主机名的文件是( )

A. /etc/sysconfig/networkB. /etc/hosts
C. /etc/sysconfig/network-scripts/ifcfg-eth0D. /etc/fstab

27. 可以启动httpd服务的命令是( )

A. /etc/init.d/httpd startB. httpd start
C. /etc/init.d/httpd statusD. service httpd

28. 在Vi编辑器的命令模式下,要删除光标所在位置的一个字(单词),应使用命令( )

A. dbB. dd
C. dwD. cc

29. 在vi编辑器中,用字符串str2替换正文中所有的出现的字符串str1,应使用命令( )

A. :1,$ s/str1/str2/gB. :s/str/str2/
C. :s/str1/str2/gD. :%s/str/str2/

30. 用来显示vi编辑器所有设置选项的命令是( )

A. setB. set all
C. set listD. set c?

31. 在Emacs编辑器中,将光标移到当前行的行首的命令是( )

A. <Ctrl>+aB. <Ctrl>+e
C. <Alt>+<D. <Alt>+v

32. 在Emacs编辑器中,保存文件并退出的正确做法是( )

A. 先按<Ctrl>+x,再按<Ctrl>+wB. 先按<Ctrl>+x,再按<Ctrl>+c
C. 先按<Ctrl>+x,再按<Ctrl>+sD. 按<Ctrl>+w

33. 用于存储所有授权的远程客户系统的公钥,使远程客户端系统能够ssh免密登录的文件是( )

A. authorized_keysB. ssh_keys
C. authorized_hostsD. know_hosts

34. 用于启动SSH服务的命令是( )

A. service sshd startB. service ssh start
C. chkconfig sshd onD. chkconfig ssh on

35. 使用scp上传本地目录 /opt/www 到服务器10.1.0.2目录/opt下的命令是( )

A. scp -r /opt/www/ [email protected]:/opt/B. scp [email protected]:/opt/ /opt/www/
C. scp -r [email protected]:/opt/ /opt/www/D. scp /opt/www/ [email protected]:/opt/

36. 在GDB中,要删除行号为22处的断点,应使用命令( )

A. delete 22B. clear 22
C. d 22D. r 22

37. 在GDB调试中,如果想单步执行下一条指令,而不是下一行程序,应使用命令( )

A. nextB. nexti
C. stepD. continue

38. gcc编译参数 -w 的作用是( )

A. 关闭所有警告B. 输出所有警告信息
C. 指定输出文件名D. 产生调试信息

39. MVC模式中,C指的是( )

A. 视图B. 模型
C. 控制器D. 客户端

40. 如果要查看已经被安装的JDK的包信息,可以用该命令( )

A. rpm -qa | grep javaB. rpm -e java
C. java -versionD. java -path

二、填空题(共 10 题)

  1. 现代操作系统中,\_\_\_\_\_\_\_\_\_\_通常是处理器调度运行的最小单位。
  2. Linux内核版本号由3组数字组成,如4.16.13,该内核次版本号是\_\_\_\_\_\_\_\_\_\_。
  3. 通常情况下,RPM软件包采用系统默认的安装路径,可执行的命令会安装在\_\_\_\_\_\_\_\_\_\_目录下。
  4. 通过配置\_\_\_\_\_\_\_\_\_\_协议,服务器控制器一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
  5. /home 目录下查找后缀为 .dat 的文件应使用命令\_\_\_\_\_\_\_\_\_\_。
  6. 改变当前目录下文件file1的访问权限为所属组用户都可执行,应使用命令\_\_\_\_\_\_\_\_\_\_。
  7. 一般使用\_\_\_\_\_\_\_\_\_\_命令查看当前机器的主机名。
  8. 以MB为单位,显示当前内存的使用情况,应使用命令\_\_\_\_\_\_\_\_\_\_。
  9. 统计文件file1中包含字符串“ASDF”的行数,可使用命令\_\_\_\_\_\_\_\_\_\_。
  10. 在Linux系统中,表示进程优先级的有两个参数:Priority和Nice,这两个数值越\_\_\_\_\_\_\_\_\_\_代表该进程越被优先CPU处理。

三、综合应用题(共 2 题)

1. 假设有两台服务器,主机名分别是server1和server2。如果想配置在server1上以用户名user2免密登录到server2上:
(1) 首先,应该在服务器server1上运行【51】\_\_\_\_\_\_\_\_\_\_命令来生成密钥;
(2) 然后进入当前用户(user1)的 /home/user1/【52】\_\_\_\_\_\_\_\_\_\_目录;
(3) 执行如下命令把生成的公钥复制到server2上:
【53】\_\_\_\_\_\_\_\_\_\_ user2@server2:/home/user2/.ssh/id_rsa.pub.s1
(4) 登录server2,进入相应目录后执行追加操作:
cat id_rsa.pub.s1 >> 【54】\_\_\_\_\_\_\_\_\_\_
(5) 再调用sshd restart重新启动ssh服务之后,就能使用server1上的user1免密登录server2上的user2账号了。用户登录到server2上以后,要编译和调试 /home/user2/tmp 下的一个c语言程序 tmp.c。首先调用如下命令进行编译链接:
gcc tmp.c 【55】\_\_\_\_\_\_\_\_\_\_ ../include -Wall 【56】\_\_\_\_\_\_\_\_\_\_ -O2 -o tmp
(6) 如果有多个源文件且依赖关系比较复杂,应编写【57】\_\_\_\_\_\_\_\_\_\_文件描述编译规则。
(7) 输入【58】\_\_\_\_\_\_\_\_\_\_对编译生成的tmp程序启动gdb调试;
(8) 在调试器中输入【59】\_\_\_\_\_\_\_\_\_\_对函数 func1 位置设置断点。
(9) 然后输入run命令开始执行程序,程序停留在断点处。如需进入函数内部单步执行,应输入【60】\_\_\_\_\_\_\_\_\_\_命令。

2. (1) 编写脚本程序 prune.sh,功能为删除给定文件中的倒数第2和第3两行后形成新文件,用法如下:prune.sh file[file…]

#!/bin/sh
for file 【61】__________ #对每个文件进行处理
do
    LINES=`wc 【62】__________ | awk '{print $1}'` #计算行数
    LINES=`expr 【63】__________ `
    head 【64】__________ $file > $file.new #输出前 LINES 行
    【65】__________ -n 1 $file >> $file.new #输出最后一行
done

(2) 编写脚本,提示用户输入一个数字作为参数,然后打印出一个*号组成的方形区域。例如用户输入5,最终显示5x5的星号矩阵:
*****
*****
*****
*****
*****

#!/bin/bash
while :
do
    【66】__________ -p "Please input a number: " n
    n1=`echo $n|sed 's/[0-9]//g'`
    if [ -n "$n1" ]
    then
        echo "$n is not a number."
        【67】__________
    else
        【68】__________
    fi
done

for i in `seq 1 $n`
do
    for j in `seq 1 $n`
    do
        echo 【69】__________ "*"
    done
    【70】__________
done


试卷(五) 参考答案与解析

一、单项选择题

  1. A | 【解析】Linux内核次版本号(中间的数字)为奇数代表开发版(不稳定版),偶数代表稳定版。2.5.32中5是奇数。
  2. C | 【解析】Gentoo, Debian, Fedora均是Linux发行版;Solaris属于UNIX分支系统。
  3. A | 【解析】环境变量 DESKTOP_SESSION 用于指示当前所使用的桌面环境(如GNOME, KDE)。
  4. B | 【解析】Linux文件的三个时间戳是:atime(访问时间)、mtime(修改时间)、ctime(状态改变时间)。没有ntime。
  5. A | 【解析】echo -e 开启转义。输出a,然后b,遇到 \b (退格)删除了b,然后输出c。结果为 ac。
  6. D | 【解析】w 命令可以显示已登录用户及其正在执行的任务进程;-s 表示使用短格式输出。
  7. C | 【解析】Linux系统中,所有用户进程的最终祖先通常是 init 进程(PID为1),而 init 自身的父进程(PPID)标记为 0。
  8. A | 【解析】export 命令用于将Shell变量声明为环境变量,使其在当前Shell和所有随后派生的子Shell中生效。
  9. B | 【解析】tail 用于查看文件末尾内容;tac 是反向查看;last 查看登录日志。
  10. A | 【解析】mount -a 会读取 /etc/fstab 并挂载其中列出的所有文件系统。
  11. B | 【解析】软链接(符号链接)类似Windows的快捷方式。如果删除了源文件/目录(OLD),软链接(new)就变成了死链接,无法再访问。
  12. A | 【解析】/etc/passwd 中每一行对应一个注册用户。通过 wc --lineswc -l 统计行数即可得知用户数。
  13. D | 【解析】netstat, ping, traceroute 均为网络命令。init 是系统进程管理器,与查看网络无关。
  14. A | 【解析】rm -r 表示递归删除目录,-f 表示强制执行且不提示确认。
  15. B | 【解析】Linux下 0 表示标准输入(stdin),1 表示标准输出(stdout),2 表示标准错误输出(stderr)。
  16. A | 【解析】find . -name "*.txt" 可以在当前及其子目录中递归查找匹配的文件。
  17. B | 【解析】权限664分别对应:6(rw-)、6(rw-)、4(r--)。即所有者和同组用户可读写,其他用户仅读。
  18. D | 【解析】passwd 命令用于更改用户的密码。
  19. A | 【解析】su (switch user) 用于在终端中切换登录用户身份。
  20. D | 【解析】加密后的用户密码散列值存放在 /etc/shadow 中。
  21. A | 【解析】sort 使用 -t: 指定分隔符,-k 2 选取第二列,-n 按照数字排序,-r 进行倒序(从大到小)。
  22. A | 【解析】kill 本质是发送信号(如SIGTERM)。如果进程捕获或忽略该信号,就不一定会被终止;除非使用 kill -9 发送无法忽略的SIGKILL信号。所以D选项“无条件终止”表述错误。
  23. B | 【解析】在 top 交互界面中,按大写 M 键按内存占用排序,按大写 P 键按 CPU 占用排序。
  24. A | 【解析】du -sh 统计当前目录磁盘占用,-s 汇总,-h 人类可读格式。df 用于查看磁盘分区总体空间。
  25. D | 【解析】lsblk 用于列出系统中所有的块设备,并显示出它们的挂载及依赖树结构。
  26. A | 【解析】在RedHat系中,/etc/sysconfig/network 用于配置全局网络参数及主机名。
  27. A | 【解析】使用SysV风格脚本启动服务的方式是通过绝对路径 /etc/init.d/httpd start 启动。
  28. C | 【解析】dw (delete word) 在vi的命令模式下用于删除光标所在的当前单词。
  29. A | 【解析】1,$ 代表从第1行到最后一行,s/str1/str2/g 代表全局替换。这与 :%s/str1/str2/g 等效。
  30. B | 【解析】:set all 命令可以在vi底部列出所有环境设置选项的状态。
  31. A | 【解析】Emacs中 Ctrl+a 跳转到行首,Ctrl+e 跳转到行尾。
  32. C | 【解析】Emacs中标准退出流程是 <Ctrl>+x 接着 <Ctrl>+c,如果有未保存的内容系统会提示保存。
  33. A | 【解析】authorized_keys 存放允许免密登录本机的客户端公钥;known_hosts 存放已连接过的主机公钥指纹。
  34. A | 【解析】service sshd start 是启动SSH守护进程(sshd)的命令。
  35. A | 【解析】上传本地目录到远程,需加 -r 递归参数,格式为 scp -r 本地目录 用户@IP:远程目录
  36. B | 【解析】在GDB中,clear 行号(如 clear 22)用于删除指定源文件行号处的断点;delete 通常接断点编号。
  37. B | 【解析】在GDB中,next 步过一行C代码,nexti 步过一条底层汇编机器指令。
  38. A | 【解析】GCC中,-w 选项用于关闭所有的编译警告信息;-Wall 则相反,开启所有警告。
  39. C | 【解析】MVC架构指的是 Model(模型)、View(视图)、Controller(控制器)。
  40. A | 【解析】rpm -qa 列出所有已安装的RPM包,结合管道 grep java 可筛选出包含java的安装包信息。

二、填空题

  1. 线程 | 【解析】进程是资源分配单位,线程是处理器调度的最小单位。
  2. 16 | 【解析】Linux内核版本号结构为“主版本号.次版本号.修订号”,中间的16即次版本号。
  3. /usr/bin | 【解析】RPM默认将用户级可执行命令安装在 /usr/bin
  4. DHCP | 【解析】动态主机配置协议(DHCP)负责向局域网分配IP及相关网络参数。
  5. find /home -name *.dat | 【解析】find 路径加上 -name 匹配模式即可查找文件。
  6. chmod g+x file1 | 【解析】g代表组,+x赋予执行权限。
  7. hostname | 【解析】hostname 命令用于查看或临时设置系统的主机名。
  8. free -m | 【解析】free 查看内存状态,-m 参数指定单位为兆字节(MB)。
  9. grep "ASDF" file1 | wc -l | 【解析】过滤出包含特定字符串的行,然后用 wc -l 统计数量。
  10. | 【解析】进程优先级的Priority和Nice值越低,代表优先级越高,越容易获得CPU时间。

三、综合应用题

1. 参考答案:
【51】 ssh-keygen (生成公私钥对)
【52】 .ssh (存放密钥的隐藏目录)
【53】 scp id_rsa.pub (将公钥远程复制过去)
【54】 authorized_keys (追加到受信任列表中实现免密)
【55】 -I (大写i,指定额外的头文件搜索路径)
【56】 -g (包含GDB调试信息)
【57】 Makefile (或 makefile,用于make工具的配置文件)
【58】 gdb tmpgdb (加载可执行文件进行调试)
【59】 break func1 (或 b func1,在函数入口打断点)
【60】 step (或 s,表示单步执行并步入函数内部)

2. 参考答案:
【61】 in $* (遍历脚本传入的所有位置参数/文件)
【62】 -l $file (统计当前遍历文件的行数)
【63】 $LINES - 3 (计算需要保留的前N行总数,因减掉倒数第2、3行和最后一行)
【64】 -n $LINES (head指定输出前N行)
【65】 tail (配合 -n 1 输出最后一行)
【66】 read (读取用户输入到变量n)
【67】 continue (若输入非法,跳过本次循环重新提示输入)
【68】 break (若输入全为数字,退出死循环往下执行)
【69】 -n (echo使用 -n 输出不换行,以便把一行的星号连在一起)
【70】 echo (内层循环完毕后,单独执行echo用于输出换行符)

标签: Linux, NCRE, exam

添加新评论