Linux(CentOS)系统管理入门笔记:第二期核心知识点自测与详解

Linux(CentOS)系统管理入门笔记:第二期核心知识点自测与详解

本自测解析针对 Linux(CentOS)系统管理入门笔记第二期(命令行初识:Shell、命令结构与常用工具)的核心内容。共 10 题,每题包含题目回顾、考查知识点、详细解答与分析,帮助读者巩固 Linux 命令行基础操作的核心技能。
文章索引:

Linux(CentOS)系统管理入门笔记(第二期)------命令行初识:Shell、命令结构与常用工具

更多自我检测系列欢迎浏览:每日知识点小问答

我的主页:AOwhisky,这里有更多运维系统性知识整理和其他有趣内容,欢迎与我一起探讨学习~

题目一:控制台、终端与 Shell 的概念辨析

题目:Linux 系统中的物理控制台(Console)、虚拟控制台(Virtual Console)、终端(Terminal)和 Shell 四个概念有什么区别与联系?请分别说明其含义,并用一个比喻解释它们之间的关系。

考查知识点

  • 控制台、终端与 Shell 概念 ------ 第二期 §1
  • 概念之间的关系

详细解答

概念 含义 本质
物理控制台(Console) 直接连接主机的显示器和键盘硬件 物理设备
虚拟控制台(Virtual Console) Linux 提供的多个逻辑登录会话(tty1~tty6),通过 Ctrl+Alt+F1~F6 切换 软件模拟的逻辑终端
终端(Terminal) 用于输入输出交互的界面,可以是物理终端、虚拟终端、远程 SSH 终端(pts)或图形终端模拟器 交互式会话的"窗口"
Shell 运行在终端中的命令解释程序(如 Bash),负责解析用户输入并调用内核执行 命令解释器

比喻理解

  • 物理控制台 = 房子本身(硬件基础)
  • 虚拟控制台 = 房子里的多个房间(逻辑隔离的登录会话)
  • 终端 = 房间里的窗户(交互界面)
  • Shell = 站在窗户后面的人,帮你翻译和传达指令(命令解释器)

验证命令

bash

复制代码
# 查看当前终端设备
tty
# 输出示例:/dev/pts/0

# 查看当前 Shell
echo $SHELL
# 输出示例:/bin/bash

题目二:命令提示符各字段的含义

题目 :Bash 命令提示符 [whisky@centos7 ~]$ 中各部分(whiskycentos7~$)分别代表什么含义?root 用户的提示符与普通用户有何不同?

考查知识点

  • 命令提示符 ------ 第二期 §2
  • 提示符结构解析

详细解答

各部分含义

部分 含义 对应变量
whisky 当前登录的用户名 $USER
centos7 当前主机名(第一个 . 之前的部分) $HOSTNAME
~ 当前工作目录的简写,表示用户家目录 $HOME
$ 用户身份标识,$=普通用户,#=root 管理员 $UID

普通用户 vs root 用户

bash

复制代码
# 普通用户
[whisky@centos7 ~]$ whoami
whisky

# root 用户
[root@centos7 ~]# whoami
root

扩展知识 :提示符由 PS1 环境变量控制:

bash

复制代码
# 查看当前 PS1 配置
echo $PS1
# 输出示例:[\u@\h \W]\$

# 其中各转义字符含义
# \u → 当前用户名
# \h → 主机名(第一个 . 前)
# \W → 当前目录的基名
# \$ → #(root)或 $(普通用户)

题目三:命令行三要素(命令、选项、参数)

题目 :Linux 命令行的三个基本组成部分是什么?请分别说明其作用,并以 ls -l /home 为例进行解析。短选项(-)与长选项(--)有什么区别?

考查知识点

  • Shell 命令解析语法 ------ 第二期 §3
  • 命令三要素

详细解答

三要素及其作用

要素 作用 是否必须
命令(Command) 要执行的程序名称 ✅ 必须
选项(Options) 调整命令的行为,以 --- 开头 ❌ 可选
参数(Arguments) 命令作用的目标(文件、目录等) ❌ 可选

示例解析ls -l /home

部分 说明
命令 ls 列出目录内容的命令
选项 -l 使用长格式显示文件详情
参数 /home 列出 /home 目录的内容

短选项 vs 长选项

对比项 短选项(Short Options) 长选项(Long Options)
前缀 单个 - 两个 --
形式 -l-a-h --all--human-readable
合并 ✅ 可以合并:-lah ❌ 不可以合并
可读性 较低 较高
记忆难度 较高(需记忆字母含义) 较低(单词语义明确)

bash

复制代码
# 短选项合并写法
ls -l -a -h
ls -lah      # 等价写法

# 长选项写法
ls --all --human-readable

题目四:date 命令的格式化与日期计算

题目date 命令如何显示自定义格式的时间?请写出显示"2026-07-13 15:30:00"格式的命令。如果需要在 Shell 脚本中生成格式为"20260713"的日志文件名,应如何实现?date -d '-1 day' 的作用是什么?

考查知识点

  • date 命令 ------ 第二期 §4.1
  • 格式化输出与日期计算

详细解答

显示自定义格式时间

bash

复制代码
# 显示 "2026-07-13 15:30:00" 格式
date "+%Y-%m-%d %H:%M:%S"

# 常用格式符对照
# %Y → 四位年份(2026)
# %m → 两位月份(07)
# %d → 两位日期(13)
# %H → 24 小时制小时(15)
# %M → 分钟(30)
# %S → 秒(00)

生成日志文件名

bash

复制代码
# 方式一:命令替换直接生成
touch log-$(date +%Y%m%d).log
# 生成文件:log-20260713.log

# 方式二:先赋值给变量
logdate=$(date +%Y%m%d)
touch log-${logdate}.log

日期计算

命令 作用
date -d '-1 day' 显示昨天的日期
date -d '+7 days' 显示 7 天后的日期
date -d '-1 month' 显示上个月的今天
date -d '-1 year +3 months +10 days' 组合计算

bash

复制代码
# 示例:显示昨天的日期
date -d '-1 day' +%Y-%m-%d
# 输出示例:2026-07-12

# 显示 100 天后的日期
date -d '100 day' +%Y%m%d

题目五:cat、head、tail、less 的适用场景对比

题目catheadtailless 四个命令分别适用于什么场景?如果查看一个 2GB 的大日志文件,应优先选择哪个工具?为什么?tail -f 在生产环境中有何用途?

考查知识点

  • 文件查看命令 ------ 第二期 §4.3、§4.4
  • 命令适用场景

详细解答

四个命令的适用场景

命令 适用场景 说明
cat 查看小文件(< 100 行)或合并多个文件 一次性加载全部内容
head 快速预览文件开头部分 默认显示前 10 行
tail 快速预览文件结尾部分 默认显示后 10 行
less 分页查看大文件,支持搜索和翻页 按需加载,内存友好

2GB 大日志文件应选 less

  • cat 会一次性将整个文件加载到内存并输出到屏幕,可能导致内存耗尽、系统卡顿
  • less 按需加载文件内容,只读取需要显示的部分,内存占用极低
  • less 支持上下翻页、关键字搜索(/keyword)等操作,适合日志分析

bash

复制代码
# 查看大文件
less /var/log/messages

# 在 less 中常用操作
# /ERROR   → 搜索 "ERROR"
# n        → 下一个匹配
# N        → 上一个匹配
# g        → 跳到文件开头
# G        → 跳到文件末尾
# q        → 退出

tail -f 的生产环境用途

bash

复制代码
# 实时追踪日志(监控应用运行状态)
tail -f /var/log/messages
tail -f /var/log/nginx/access.log

# 按 Ctrl+C 退出追踪

tail -f 常用于:

  • 实时监控:观察日志输出,定位问题
  • 故障排查:在重现问题时查看日志实时变化
  • 部署验证:确认服务启动后是否有异常日志

题目六:文件类型识别与 file 命令

题目file 命令的作用是什么?它通过什么机制判断文件类型?为什么 Linux 不依赖文件扩展名来识别文件类型?请用示例说明。

考查知识点

  • file 命令 ------ 第二期 §5.1
  • 文件类型识别机制

详细解答

file 命令的作用 :探测文件的真实类型,而非依赖扩展名判断。它通过读取文件的文件头(Magic Number) 和内容特征来识别类型。

识别机制

  • Linux 不信任文件扩展名(如 .txt.exe
  • file 命令读取文件开头的若干字节,查找特征签名(Magic Number)
  • 每个文件格式都有特定的头部签名,如:
    • ELF 可执行文件:开头为 \x7fELF
    • 图片文件:JPEG 开头为 \xff\xd8,PNG 开头为 \x89PNG
    • 压缩文件:GZIP 开头为 \x1f\x8b

示例

bash

复制代码
# 查看文本文件
file /etc/hosts
# /etc/hosts: ASCII text

# 查看二进制程序
file /bin/ls
# /bin/ls: ELF 64-bit LSB executable, x86-64, ...

# 查看目录
file /etc/yum
# /etc/yum: directory

# 查看链接文件
file /bin
# /bin: symbolic link to usr/bin

# 查看压缩包
file /etc/passwd-
# /etc/passwd-: ASCII text

# 即使将可执行文件重命名为 .txt,file 仍能正确识别
cp /bin/ls /tmp/ls.txt
file /tmp/ls.txt
# /tmp/ls.txt: ELF 64-bit LSB executable, ...

题目七:history 命令与历史操作

题目history 命令可以查看命令历史列表。请说明以下操作的含义:

  • !5
  • !host
  • history -c
  • history -w

为什么 history --help 会报错?正确的查看帮助的方式是什么?

考查知识点

  • history 命令 ------ 第二期 §8.1
  • 历史命令操作与内建命令特性

详细解答

各操作的含义

操作 含义
!5 执行历史列表中编号为 5 的那条命令
!host 执行最近一次以 host 开头 的命令(如 hostname
history -c 清空当前会话的历史缓存(内存中的历史记录)
history -w 将当前会话的历史记录写入 ~/.bash_history 文件(持久化保存)

示例

bash

复制代码
# 查看历史列表
history
#  1  date
#  2  hostname
#  3  ls -l
#  4  echo hello
#  5  history

# 执行第 3 条命令(ls -l)
!3

# 执行最近一次以 "echo" 开头的命令
!echo
# 输出:echo hello
# 输出:hello

# 清空历史缓存
history -c

# 将当前历史写入文件
history -w

history --help 报错的原因

  • historyShell 内建命令(builtin),不是独立的二进制程序
  • 内建命令没有独立的 --help 选项
  • 正确查看方式help history(使用 help 命令查看内建帮助)

bash

复制代码
# 判断命令类型
type history
# history 是 shell 内建

type date
# date 是 /usr/bin/date

# 查看内建命令帮助
help history

题目八:Bash 快捷键速查

题目 :请写出以下 Bash 快捷键对应的作用:Ctrl+ACtrl+ECtrl+UCtrl+KCtrl+LCtrl+REsc+.

考查知识点

  • Bash 快捷键 ------ 第二期 §9
  • 快捷键功能对照

详细解答

快捷键 作用 等效按键
Ctrl+A 光标跳到行首 Home
Ctrl+E 光标跳到行尾 End
Ctrl+U 删除从光标到行首的内容(剪切) ---
Ctrl+K 删除从光标到行尾的内容(剪切) ---
Ctrl+L 清空屏幕 clear 命令
Ctrl+R 交互式反向搜索历史命令 ---
Esc+. 粘贴上一条命令的最后一个参数 ---

演示示例

bash

复制代码
# Ctrl+A 跳到行首
$ echo hello world
# 按 Ctrl+A → 光标跳到行首(e 之前)

# Ctrl+E 跳到行尾
# 按 Ctrl+E → 光标跳到行尾(d 之后)

# Ctrl+U 删除到行首
# 光标在 hello 和 world 之间时按 Ctrl+U → 删除 "hello "
# 剩下 "world"

# Ctrl+K 删除到行尾
# 光标在 hello 和 world 之间时按 Ctrl+K → 删除 " world"
# 剩下 "hello"

# Ctrl+L 清屏
# 终端内容被清空,出现新的提示符

# Ctrl+R 搜索历史
# 按 Ctrl+R,输入 "date" → 显示最近的 date 命令
# 再次按 Ctrl+R → 继续向上搜索更早的 date 命令
# 按 Enter → 执行选中的命令

# Esc+. 粘贴上一命令的最后一个参数
$ mkdir newdir
$ cd Esc+.   # cd newdir

题目九:script 命令与终端会话录制

题目script 命令的作用是什么?请写出录制终端会话的完整步骤(从开始录制到回放)。scriptreplay 为什么需要 -t 参数生成的时间文件?

考查知识点

  • script 命令 ------ 第二期 §8.2
  • 会话录制与回放

详细解答

script 的作用

  • 录制整个终端会话的输入和输出
  • 适合:教学演示、操作审计、故障回溯、复杂操作复盘
  • 输出文件为纯文本格式,可直接查看

完整录制与回放步骤

bash

复制代码
# 步骤 1:开始录制(同时记录时间数据)
script -t time.log session.log
# 或简写
script -ttime.log session.log

# 步骤 2:执行命令(所有输入输出都会被记录)
date
hostname
echo "hello world"
ls -l /etc/hosts

# 步骤 3:结束录制
exit
# 输出:Script done, file is session.log

# 步骤 4:查看录制内容(纯文本)
cat session.log

# 步骤 5:回放录制内容(精确还原操作过程)
scriptreplay -t time.log session.log

为什么需要 -t 时间文件

  • session.log 只记录了输入输出的内容
  • time.log 记录了每条命令执行的时间戳延迟
  • scriptreplay 结合两者,可以精确还原命令执行的时间节奏
  • 如果只有 session.log 而没有 time.log,回放时会一次性输出所有内容,失去"回放"的意义

题目十:passwd 命令详解与密码管理

题目passwd 命令的常见用法有哪些?普通用户和 root 用户执行 passwd 有什么区别?passwd -d whisky 的作用是什么?在生产环境中使用该选项有何风险?

考查知识点

  • passwd 命令 ------ 第二期 §4.2
  • 普通用户 vs root 用户的权限差异

详细解答

passwd 的常见用法

用法 说明 适用用户
passwd 修改当前用户的密码 普通用户、root
passwd whisky 修改指定用户的密码 仅 root
passwd -d whisky 删除指定用户的密码 仅 root
passwd -l whisky 锁定指定用户的账户 仅 root
passwd -u whisky 解锁指定用户的账户 仅 root

普通用户 vs root 用户

对比项 普通用户 root 用户
修改自己的密码 ✅ 可以 ✅ 可以
修改他人密码 ❌ 不可以 ✅ 可以
删除他人密码 ❌ 不可以 ✅ 可以
锁定/解锁账户 ❌ 不可以 ✅ 可以
执行 passwd 需提供旧密码 无需旧密码

bash

复制代码
# 普通用户修改自己的密码(需输入旧密码)
[whisky@centos7 ~]$ passwd
更改用户 whisky 的密码 。
(当前)UNIX 密码:           # 输入旧密码
新的 密码:                    # 输入新密码
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

# root 修改普通用户的密码
[root@centos7 ~]# passwd whisky
更改用户 whisky 的密码 。
新的 密码:                    # 直接设置新密码
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

passwd -d whisky 的作用与风险

  • 删除用户的密码(使该用户无需密码即可登录
  • 生产环境风险极高
    • 任何人只要知道用户名即可登录该账户
    • SSH 服务器如果配置了 PermitEmptyPasswords yes,则可以通过空密码登录
    • 建议仅用于测试环境,生产环境绝对避免
    • 如需禁止用户登录,应使用 passwd -l whisky(锁定账户)

附:知识点对应总表

题号 主要考查知识点(对应第二期章节)
1 §1 控制台、终端与 Shell 概念
2 §2 命令提示符含义与解析
3 §3 Shell 命令解析三要素
4 §4.1 date 命令格式化与日期计算
5 §4.3、§4.4 cat/head/tail/less 适用场景
6 §5.1 file 命令与文件类型识别
7 §8.1 history 命令与历史操作
8 §9 Bash 快捷键汇总
9 §8.2 script 会话录制与回放
10 §4.2 passwd 命令与权限管理

学习建议 :对于答错的题目,请回看第二期对应章节,并动手在 CentOS 终端中执行相关命令验证。命令行技能的核心是"肌肉记忆",建议每个命令都实际敲一遍,而不仅仅是阅读答案。建议将 script 命令与 history 命令配合使用,形成"操作留痕"的好习惯。
--- Compiled and Authored by Whisky --- July 13 th, 2026

相关推荐
云计算-Security2 小时前
同(异)主机 Linux NAT 最佳实践
linux·服务器·网络
AOwhisky11 小时前
Python 学习笔记(第一期与第二期)——基础语法——核心知识点自测与详解
开发语言·笔记·python·学习·云原生·运维开发
天空'之城11 小时前
Linux 系统编程 22:五种 IO 模型全解
linux
泰晶科技12 小时前
【前装供应链实操笔记:车规晶振背后AEC-Q100与Q200的绑定关系】
笔记
神明不懂浪漫12 小时前
【第四章】CSS(二)——文本外观属性与复合选择器
前端·css·经验分享·笔记
小张成长计划..12 小时前
【Linux】10:冯·诺依曼体系结构和操作系统
linux·运维·服务器
栈溢出了15 小时前
Redis 分片集群与哈希槽笔记
java·redis·笔记·spring
我命由我1234515 小时前
复利极简理解
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
悦儿遥遥雨116 小时前
PXE + Kickstart 无人值守批量部署系统
linux·javascript·nginx