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文件主要用于配置网络相关的基本设置,如主机名、网关等,与服务名和端口号映射无关。
相关推荐
@嵌入式Linux小白2 小时前
了解ARM的千兆以太网——RK3588
linux·arm开发·驱动开发
草莓奶忻3 小时前
Ubuntu批量修改文件名
linux·运维·ubuntu
Danileaf_Guo3 小时前
H3C路由器配置基于路由的IPsec VPN
运维·服务器·网络·智能路由器
阿落ovo5 小时前
访问控制列表ACL
java·运维·服务器·网络·数据库·华为·智能路由器
Huazzi.5 小时前
Linux 文件系统目录结构及其简要介绍
linux·服务器·网络·ubuntu
星河梦瑾6 小时前
CTF知识集-SQL注入
linux·运维·python·安全·网络安全
筒栗子6 小时前
复习打卡Linux篇
linux·运维·服务器
4v1d6 小时前
Cisco Packet Tarcer配置计网实验笔记
网络·笔记·智能路由器
vvw&7 小时前
如何在 Debian 12 上安装和使用 Vuls 漏洞扫描器
linux·运维·nginx·ubuntu·debian·论坛
GCTTTTTT7 小时前
linux日常常用命令(AI向)
java·linux·服务器