SCAU期末笔记 - Linux系统应用与开发教程样卷解析(2024版)

我真的不理解奥,为什么会有给样卷不自带解析的,对答案都没得对,故整理一篇

样卷1

一、选择题

1、为了遍历shell脚本调用时传入的参数,需要在shell脚本中使用_____。

  • A.$#表示参数的个数
  • B.S@表示所有参数
  • C.$0表示脚本名
  • D.$1表示第一个参数

2、安装了带图形化界面的RedHatLinux系统,默认的运行级别为_____。

带图形化界面的RedHat Linux系统默认运行级别为5,选C

3、为了回到个人的home目录,可以执行_____。

cd ~可以回到个人的home目录,选C

4、在 bash 中, 在一条命令后加入 "1>&2" 意味着_____。

表示标准输出重定向到错误输出,选D

5、Linux 启动时第一个启动的进程为init进程,它的进程号PID为_____。

init进程的PID为1,选B

6、假设执行cat/etc/passwd命令后,发现以下记录信息:games:x:12:100:games:/usr/games:/sbin/nologin,下列说法错误的是_____。

/etc/passwd文件中,记录格式为用户名:密码:用户ID:组ID:用户描述:家目录:登录Shell,所以用户ID为12,组ID为100,home目录是/usr/games,不能登录shell,选A

7、某系统已存在一块名为/dev/sda的SCSI硬盘,现在再插入一个U盘, 该U盘的设备名可能为_____。

sda被占用,其他的数字从1开始数,所以可能是/dev/sdb1,选C

8、为了查看端口占用情况,可以用_____命令。

  • A.netstat命令用于显示网络连接、路由表、接口统计信息等,通过相关参数可以查看端口占用情况
  • B.ifconfig主要用于配置和现实网络接口信息,如IP地址、子网掩码、MAC地址等
  • C.ping命令用于测试网络连接,向目标主机发送ICMP数据包并等待响应
  • D.traceroute用于追踪数据包在网络中的传输路径,显示从源主机到目标主机所经过的路由器列表

9、下列说法正确的是_____。

  • A.开源软件不一定是免费的
  • B.GPL协议允许公司销售自由软件,但销售时必须遵循GPL协议的规定
  • C.F热额BSD是一个类Unix操作系统,不是Linux发行版本
  • D.正确

10、不能查看系统资源信息的命令是_____。

  • A.du命令用于查看磁盘使用空间,是查看系统资源信息(磁盘资源方面)的命令
  • B.free命令用于显示系统内存的使用情况,包括物理内存、交换空间等信息,是查看系统资源信息(内存资源方面)的命令
  • C.shfs这个命令在正常的Linux系统命令集中根本不存在
  • D.top命令提供了实时动态地查看系统资源使用情况的功能

11、关于前台进程和后台进程,说法正确的是_____。

  • A.后台进程才需要加&,前台直接执行即可
  • B.正确
  • C.后台进程在后台运行,不影响前台继续执行其他命令,不需要等待后台进程执行完毕后执行下一个命令
  • D.Ctrl+C用于终止前台进程,后台进程需要用kill命令加上进程ID等方式

12、下列命令中,不能实现文件保存的是_____。

  • A.:wq表示保存文件并退出
  • B.:w表示保存文件但不退出
  • C.:x用法类似:wq,只在某些情况下略有不同
  • D.:q!表示不保存文件强制退出

13、下列命令中,没有导致vi工作模式切换的是_____。

  • A.:wq会从编辑模式切换到命令模式然后退出
  • B.o指在当前行下方打开新行并进入插入模式
  • C.gg是跳转到文件开头,一直处于命令模式没有切换
  • D.?wq是在vi中进行反向查找wq,会从命令模式切换到查找模式

14、下列命令中,不能使vi进入插入模式的是_____。

  • A.a用于在光标后进入插入模式
  • B.i用于在光标前进入插入模式
  • C.o用于在当前行下方插入新行并进入插入模式
  • D.r用于替换当前字符,不进入插入模式

15、当字符串用单引号括起来时,shell将_____。

不解释特殊字符,选D

16、以下关于shell程序的说法正确的是_____。

  • A.不同的shell解释器有不同的语法和特性
  • B.shell程序执行效率相对较低,不适合用于时间紧迫型或任务器忙碌型任务
  • C.正确
  • D.如果程序文件本身有可执行权限就可以直接执行

17、将光盘/dev/hdc 卸载的命令是_____。

umount/dev/hdc,选A

18、在利用gdb进行调试过程中,如果需要单步执行,且不进入函数内部,应该使用_____。

  • A.next单步执行,不进入函数内部
  • B.step单步执行,进入函数内部
  • C.run运行程序
  • D.go继续执行程序

19、下面关于less和more的说法错误的是_____。

  • A.lessmore都具备分页查看文件内容的功能,用户可以逐页浏览文件。
  • B.通常情况下,less在处理大容量文档时速度更快,并且具有更多功能,如支持上下键滚动浏览等,而more相对简单。
  • C.less允许用户使用上下方向键在文件中上下浏览,方便查看文件内容。
  • D.more在查看文件时会将整个文档读入内存,这在处理大文件时可能会占用较多内存资源。

20、系统默认的_____用户对整个系统拥有完全的控制权。

  • A.administrator是Windows里面的,Linux里面没有这个
  • B.guest顾名思义肯定不是
  • C.root是Linux默认的超级用户,具有最高权限
  • D.supervistor这个默认用户不存在

二、简答题

1、解释软链接、硬链接以及复制三者之间的联系与区别。

  • 联系:都跟文件操作相关
  • 区别:
    • 软链接就是快捷方式
    • 硬链接是对内存的指针,只有把所有的硬链接删除才算是删除这个文件
    • 复制就是内存复制了一份,两个东西是独立的

2、画出VFS的结构图,并说明VFS的功能与作用。

  • 功能:提供统一的文件和文件系统操作系统,隐藏底层文件系统的差异
  • 作用:隔离应用程序与底层文件系统,方便应用程序的兼容

3、以图解方式解释xinetd工作模式,并说明选择该工作模式的原则。

原则:系统中有多个不常用的网络服务或是安全性要求较高的话就用xinetd

三、编程题

1、编写一个shell程序可以完成以下执行过程。

首先是熟悉的多case,直到读入q结束,不然就是循环读数字,最后返回他们的和

bash 复制代码
#!/bin/bash

while true
do
    echo "Input a list of number:"
    read numbers
    if [ "$numbers" = "q" ]; then
        break
    fi
    sum=0
    for num in $numbers
    do
        sum=$(($sum + $num))
    done
    echo "the result is $sum"
done

2、编写一段shell程序实现以下功能。

熟悉的if-else开会

bash 复制代码
#!/bin/bash

while true
do
    echo "Please input the student's score:"
    read score
    if [ $score -lt 0 ]; then
        exit 0
    elif [ $score -le 60 ]; then
        echo "Failed!"
    elif [ $score -le 69 ]; then
        echo "Passed!"
    elif [ $score -le 79 ]; then
        echo "Medium!"
    elif [ $score -le 89 ]; then
        echo "Good!"
    elif [ $score -le 100 ]; then
        echo "Excellent!"
    else
        echo "Error score"
    fi
done

四、综合应用题

1、根据要求写出相应的操作命令,假设文件和目录已存在。

  • 1) ls -al /tmp
    • ls是列出目录内容的命令。
    • -a选项表示显示所有文件,包括隐藏文件(以.开头的文件)。
    • -l选项以长格式显示文件信息,包括文件权限、所有者、大小、修改时间等。
  • 2) chmod 754 /tmp/a.txt
    • chmod用于修改文件权限。
    • 754是权限的八进制表示,其中7表示所有者具有读(4)、写(2)、执行(1)权限,5表示同组用户具有读(4)和执行(1)权限,4表示其他用户具有读(4)权限。
  • 3) chown mail:games /tmp/b.txt
    • chown用于更改文件所有者和所属组。
    • mail是要设置的文件所有者,games是要设置的文件所属组。
  • 4) mv /tmp/c.txt /tmp/c.txt.bak
    • mv命令用于移动或重命名文件。
    • 这里将/tmp/c.txt重命名为/tmp/c.txt.bak
  • 5) date >> ~/d.txt
    • date命令用于显示当前系统时间。
    • >>是追加输出重定向符号,将当前时间追加到当前用户主目录下的d.txt文件中。
  • 6) who | wc -l >> ~/d.txt
    • who命令用于显示当前登录系统的用户信息。
    • wc -l用于统计行数,这里统计who命令输出的行数,即当前用户个数。
    • >>将统计结果追加到d.txt文件。
  • 7) ln -s ~/d.txt /tmp/e.txt
    • ln命令用于创建链接。
    • -s选项表示创建软链接。
    • ~/d.txt是源文件路径(当前用户主目录下的d.txt文件),/tmp/e.txt是软链接的目标路径。
  • 8) tar -cvf tmp.tar /tmp
    • tar是打包工具。
    • -c选项表示创建新的归档文件。
    • -v选项表示显示详细信息。
    • -f选项指定归档文件名,这里是tmp.tar,最后指定要打包的目录/tmp
  • 9) ps -ef | grep vsftpd
    • ps -ef命令用于查看系统中所有进程的详细信息。
    • grep vsftpd用于过滤出包含vsftpd的进程信息,即查看进程名为vsftpd的进程信息。
  • 10) find /usr -name "*.xml"
    • find命令用于在指定目录下查找文件。
    • /usr是要查找的起始目录。
    • -name "*.xml"表示查找文件名以.xml结尾的文件。

2、根据下面的依赖关系图,写出对应的makefile文件内容。

makefile 复制代码
main: a.o main.o b.o
        gcc -o main a.o main.o b.o

a.o: f1/a.c f1/a.h
        gcc -c f1/a.c

main.o: main.c f1/a.h f2/b.h
        gcc -c main.c

b.o: f2/b.c f2/b.h
        gcc -c f2/b.c

3、系统需要定期做数据库的备份工作,请根据以上描述给出相应的crontab文件内容,不需要编写脚本内容。

plaintext 复制代码
# 每月第一天凌晨1点删除/oracle/tmp目录下的dmp文件
0 1 1 * * rm -f /oracle/tmp/*.dmp

# 每月第一天凌晨2点30分以oracle用户执行导出数据脚本
30 2 1 * * su - oracle -c "/home/oracle/exportdata.sh"

# 等待2小时(根据实际情况调整)后打包数据文件
50 4 1 * * tar -cvf /oracle/tmp/datafile.tar /oracle/tmp/*.dmp

# 等待10分钟(根据实际情况调整)后移动压缩文件并修改权限
0 5 1 * * mv /oracle/tmp/datafile.tar /oracle/backup/ && chmod 400 /oracle/backup/datafile.tar

样卷2

一、选择题

1、通过指定gcc的_____选项,可以指定生成的可执行文件名。

-o,选A

2、文件类型标识d表示的是_____。

  • A.普通文件无前缀标识
  • B.设备文件分为字符设备文件(用c表示)和块设备文件(用b表示)
  • C.目录文件用d表示
  • D.链接文件分为软链接(用l表示)和硬链接(无特殊标识)

3、为了要找到服务名和端口号的映射关系,需要查看_____。

  • A./etc/hosts文件主要用于本地主机名解析,将主机名映射到IP地址,它不涉及服务名和端口号的映射关系。
  • B./etc/services文件包含了常见网络服务与它们所使用端口号的映射关系,通过查看该文件可以找到服务名对应的端口号。
  • C./etc/protocols文件定义了系统支持的网络协议,如TCP、UDP等协议的相关信息,而不是服务名和端口号的映射。
  • D./etc/sysconfig/network文件主要用于配置网络相关的基本设置,如主机名、网关等,与服务名和端口号映射无关。
相关推荐
风静如云3 分钟前
OpenBMC:BmcWeb定义service
linux
sszdzq16 分钟前
Docker
运维·docker·容器
book012120 分钟前
MySql数据库运维学习笔记
运维·数据库·mysql
leoufung24 分钟前
VIM FZF 安裝和使用
linux·编辑器·vim
世事如云有卷舒33 分钟前
FreeRTOS学习笔记
笔记·学习
bugtraq20211 小时前
XiaoMi Mi5(gemini) 刷入Ubuntu Touch 16.04——安卓手机刷入Linux
linux·运维·ubuntu
xmweisi1 小时前
【华为】报文统计的技术NetStream
运维·服务器·网络·华为认证
VVVVWeiYee1 小时前
BGP配置华为——路径优选验证
运维·网络·华为·信息与通信
陆鳐LuLu2 小时前
日志管理利器:基于 ELK 的日志收集、存储与可视化实战
运维·elk·jenkins
CodeWithMe2 小时前
[ Vim ] 常用命令 and 配置
linux·编辑器·vim