Skip to content

测验 1:你的第一个 Linux 终端 ​

支持的版本:Ubuntu Server 24.04 LTS(主要),Rocky Linux 9(备用) 最后更新:2026 年 9 月 15 日

返回课程 | 课程准备

请先选择答案,再查看说明。这些情境使用第 1 课中的一次性来宾系统和私人笔记本。在题目中出现的命令仅用于帮助理解,不是让你在自己的主机上执行的指令。

  1. cat /etc/os-release 显示 Ubuntu 24.04,而 uname -r 打印了不同的版本号。哪项解释正确?

    • A) 其中一个命令一定有问题,因为 Linux 只有一个版本号
    • B) Ubuntu 是一个库,而 uname 用于识别终端
    • C) Ubuntu 是一个发行版;uname -r 报告正在运行的内核。库和 shell 是不同的用户空间组件
    • D) 安装新编辑器总会替换内核
显示答案

答案:C

说明:发行版会组合内核、库、工具、软件源和配置。内核管理资源并提供系统调用;库提供可重复使用的函数,其中一些会使用这些调用。Bash 会在用户空间解释命令。这些组件的版本不必与发行版版本相同。Debian 是 Ubuntu 派生自的发行版家族,但这种关系并不保证默认设置完全相同。

  1. 当前工作目录是你专用的临时根目录。执行 cp -i notes/draft.txt notes/copy.txt,然后执行 mv -i notes/copy.txt archive/saved.txt。两条命令都成功后应有哪些文件?

    • A) 只剩 archive/saved.txt;cp 删除了草稿
    • B) 存在 notes/draft.txt 和 archive/saved.txt;notes/copy.txt 已不存在
    • C) 三个文件都存在;mv 是 copy 的另一种写法
    • D) 文件位于 /notes 和 /archive,因为相对路径从 / 开始
显示答案

答案:B

说明:cp 会保留源文件并创建副本;mv 会更改副本的位置/名称。相对路径从工作目录开始,因此检查 pwd 很重要。-i 会在覆盖已存在的目标前询问,但它并不提供通用撤销历史。之后仍可通过保存的副本恢复草稿。

  1. 你想创建一个空练习文件,执行了 touch notes/draft.txt,却忘记这个文件已经包含笔记。通常 touch 会做什么?

    • A) 清空文件并保留其旧时间戳
    • B) 创建同名目录
    • C) 更新现有文件的时间戳,同时保留其内容
    • D) 将文件移至主目录
显示答案

答案:C

说明:只有当目标路径不存在时,touch 才会创建空文件。对于已存在的文件,它通常会更改访问/修改时间戳,而不更改文本内容。使用 cat 检查内容,使用 ls -l 检查大小。这也是课程从专用目录开始的原因,不能假定熟悉的文件名尚未被使用。

  1. 你在 vi 中有未保存的编辑,并希望放弃这些修改。哪种操作正确?

    • A) 在 Bash 提示符下输入 :q!
    • B) 按 Esc,输入 :q!,然后在 vi 中按 Enter
    • C) 按 i,然后输入 :wq
    • D) 按 Ctrl+O,它会保存并退出所有编辑器
显示答案

答案:B

说明:按 Esc 可返回 vi 普通模式;:q! 会放弃上次保存后的修改并退出。:wq 会保存并退出;:q 则会阻止丢弃未保存的工作。使用 nano 时,Ctrl+O 会在确认文件名后写入,Ctrl+X 会退出。要放弃 nano 中未保存的修改,应退出并在保存提示中选择不保存。编辑器命令必须在编辑器中输入,而不是在 shell 中输入。

  1. 某文件的基本模式为 640(-rw-r-----)。哪项解释正确?

    • A) 所有者可以读写,组用户可以读取,其他用户没有基本文件权限
    • B) 每个人都可以读写,因为 6 是最大的数字
    • C) 所有者可以执行,因为 6 表示读取加执行
    • D) 因为没有执行位,所以任何人都无法删除该文件
显示答案

答案:A

说明:读取=4、写入=2、执行=1,因此所有者的 6 表示读+写,组用户的 4 表示读取。目录权限和其他控制也会影响访问及目录项删除;文件的写权限本身并不决定能否删除。撤销课程中的 chmod 600 时,应恢复已记录的原始数字模式,而不要假定为 644。

  1. 保存笔记时报告“Permission denied”。最好的第一步是什么?

    • A) 对 /home 递归更改权限
    • B) 启动 root shell,并重做后续所有课程命令
    • C) 检查 pwd、id 以及相关目录/文件的所有权和权限
    • D) 禁用来宾系统的防火墙
显示答案

答案:C

说明:你可能位于错误目录中,也可能正在编辑由其他账户拥有的文件。笔记本位于你自己的临时目录中,通常无需提权。默认情况下,sudo 会以 root 身份执行获得许可的命令;它不是诊断工具。依次运行 sudo whoami 和 whoami 可以看到,单条提权命令不会让普通 shell 永久变成 root。

  1. 在 Ubuntu 上,sudo apt update 成功完成。这是否表示所有已安装软件包都已升级,并且 nano 已安装?

    • A) 是;update 表示安装所有可用更新和缺失的编辑器
    • B) 否;它刷新了软件源的软件包索引。安装或升级软件需要单独的软件包事务
    • C) 它只更改了当前运行的内核
    • D) 它启用了所有新发现的服务
显示答案

答案:B

说明:apt update 会刷新可用软件包的信息;apt install nano 会请求安装并解析依赖,而 apt upgrade 的用途不同。在来宾系统上,应先检查建议执行的事务,再确认。可通过本地 dpkg-query 检查已安装软件包记录。之后删除软件包并不能精确撤销所有依赖、缓存、日志或配置变更;可选安装的完整恢复要使用已记录的 VM 快照。

  1. Rocky Linux 9 来宾系统需要一个编辑器。哪种准备方式符合课程说明?

    • A) 添加 Ubuntu 软件源并运行 APT
    • B) 使用 rpm -q 查看本地软件包清单,并使用 DNF 安装;虽然提供 yum 兼容接口,但无需两者都运行
    • C) 使用 systemctl install nano,因为所有软件都是服务
    • D) 安装任何软件包之前先重新构建内核
显示答案

答案:B

说明:Rocky 使用 RPM 软件包和 DNF 依赖管理。课程中备用的编辑器软件包是 nano 和 vim-minimal;Ubuntu 使用自己的软件包系列和名称。熟悉发行版有助于选择工具,但这并不意味着可以混用软件源,也不能假定服务/网络默认设置相同。

  1. ps -p $$ -o pid,ppid,user,comm 和 sleep 30 练习可以帮助你观察什么?

    • A) shell 的进程身份,以及一个会暂时占用 shell 的前台进程
    • B) 来宾系统中安装的所有软件包
    • C) 每条 shell 命令都会创建的永久服务
    • D) 在两台 VM 上以及每次重启后都会相同的 PID
显示答案

答案:A

说明:$$ 会展开为当前 Bash 的 PID;PPID 标识其父进程。进程是正在执行的程序实例,而软件包是安装在磁盘上的软件。sleep 会在 30 秒后结束,也可以使用 Ctrl+C 中断。没有启用任何服务;不要使用从文档复制来的 PID 终止未知进程。

  1. systemctl is-active systemd-journald.service 报告 active,而 is-enabled 报告 static。可以得出什么结论?
  • A) 由于服务未被 enabled,所以日志服务已失败
  • B) 该单元当前处于活动状态,且没有常规的启用配置节;依赖关系/激活路径仍可启动它
  • C) static 表示日志已永久冻结
  • D) 必须反复运行 enable,直到两个命令返回相同单词
显示答案

答案:B

说明:运行状态与启用状态是分开的。start 会影响当前运行;enable 会创建启用链接,但除非与 --now 一起使用,否则本身不会启动单元。静态单元并不意味着它有故障。应查看 Loaded、Active 和相关日志,而不是为了得到特定显示结果而更改系统服务。

  1. sudo journalctl -b -u systemd-journald.service -n 20 --no-pager 会选择什么?
  • A) 所有启动周期中所有日志文件的前 20 行
  • B) 当前启动周期中,该单元最近保留的 20 条匹配记录,并且不使用分页器显示
  • C) 所有记录,然后删除最后 20 条
  • D) 仅显示错误,因为每条 journal 消息都是错误
显示答案

答案:B

说明:-b 限定当前启动周期,-u 限定单元,-n 指定最近记录的数量。这是读取操作。应结合时间戳和消息上下文进行解读;信息性事件不等于失败。没有匹配记录可能是筛选条件或保留策略所致;权限较低的读取者也可能看不到全部内容。在断定日志功能故障前,应先比较服务状态。

  1. 你重新打开了 VM 控制台,发现 LAB_DIR 为空。正确的清理流程是什么?
  • A) 删除所有名称以 network-beginner 开头的目录
  • B) 假设上一个 shell 的当前目录未变,然后递归删除
  • C) 从确切的已记录路径恢复 LAB_DIR,检查该目录,只删除指定的练习文件,然后删除空目录
  • D) 删除 /tmp 以移除所有可能的临时文件
显示答案

答案:C

说明:变量不会自动跨会话保留。已记录的唯一路径和明确列出的文件会限定操作范围。如果 rmdir 因目录非空而拒绝操作,这是有用的证据:应检查剩余的编辑器文件或未完成步骤,而不是扩大删除范围。test ! -e "$LAB_DIR" 成功时返回状态 0,证明该确切路径已不存在。

如果任何说明仍有疑问,请返回课程查看对应练习,然后继续学习地址和接口。

向文档提问

按 Enter 发送,按 Shift+Enter 换行。