Linux 必会知识点与练习

本文合并自:06-第一阶段必会知识点.md、07-练习题.md

本文分为两部分:第一部分是 Linux 运维第一阶段必须掌握的知识点清单,覆盖系统安装与初始化、基础命令、用户与权限、Vim、软件包管理、磁盘分区、系统状态检测、启动流程、网络、SSH、NTP 以及常用的 Web/文件共享服务,每条知识点后标注了对应的学习文档,便于复习时回查;第二部分是 19 道基础命令练习题,题目与参考答案分开排版,便于自测。


第一部分 必会知识点清单

一、操作系统的安装与系统初始化

  1. 使用图形界面安装 CentOS,安装时选择 GNOME 桌面。 (对应文档:01-Linux基础/01-01-系统安装与环境准备.md)

  2. 尝试使用文本界面方式安装 CentOS,安装 minimal(最小化)版本。 (对应文档:01-Linux基础/01-01-系统安装与环境准备.md)

  3. 系统初始化,包含以下五项工作:

    • VMware 网络配置;
    • 配置登录用户、主机名、IP 地址、网关、DNS;
    • 关闭防火墙、关闭 SELINUX;
    • 修正时区、同步时间;
    • 配置 YUM、SSH 登录。

    (对应文档:01-Linux基础/01-01-系统安装与环境准备.md)

二、基本命令的使用

  1. 掌握常用命令,包括 ls、grep、输出重定向 >、管道 | 等。 (对应文档:01-Linux基础/01-02-Linux基础命令.md)

  2. 学习命令的重点是掌握查询帮助的方法,而不是死记硬背选项:

    命令 -h
    命令 --help
    man 命令
    info 命令
    ls /usr/share/doc

    (对应文档:01-Linux基础/01-02-Linux基础命令.md)

三、用户、组与权限

3.1 用户管理

  1. 掌握用户的新建、修改与删除:

    useradd 用户名          # 新建用户
    usermod 参数 用户名     # 修改用户
    userdel 用户名          # 删除用户

    (对应文档:02-用户与权限/02-01-用户与权限管理.md)

3.2 权限要点

  1. 理解组的概念。 (对应文档:02-用户与权限/02-01-用户与权限管理.md)
  2. 掌握权限的三类对象:拥有者(owner)、所属组(group)、其他人(other)。 (对应文档:02-用户与权限/02-01-用户与权限管理.md)
  3. 掌握三种基本权限:r(读)、w(写)、x(执行)。 (对应文档:02-用户与权限/02-01-用户与权限管理.md)
  4. 掌握特殊权限:suid、sgid、sticky(t)。 (对应文档:02-用户与权限/02-01-用户与权限管理.md)
  5. 掌握文件属性锁定命令 chattr。 (对应文档:02-用户与权限/02-01-用户与权限管理.md)
  6. 掌握 ACL 访问控制列表:getfacl、setfacl。 (对应文档:02-用户与权限/02-01-用户与权限管理.md)

四、Vim 编辑器

  1. 掌握 Vim 的三种模式(普通模式、插入模式、命令行模式)及常用操作:打开/保存/退出、复制粘贴删除、查找替换、行号跳转、可视块等。 (对应文档:01-Linux基础/01-03-vim编辑器.md)

五、软件包管理

工具 主要用途 常用操作
rpm 查询已安装的软件包 -qa 查询全部、-ql 列文件清单、-qf 查文件属于哪个包
yum 安装和卸载软件包、解决依赖 配置本地源、内网源、外网源、第三方源
tar 安装源码包(解包后通常配合 ./configure && make && make install) 详见后续源码安装章节
  1. 掌握 rpm 查询已安装软件包:-qa 查询全部、-ql 列出文件清单、-qf 查询文件属于哪个包。 (对应文档:05-软件包管理/05-01-软件管理-RPM-YUM-源码包.md)
  2. 掌握 yum 安装和卸载软件包、自动解决依赖,并会配置本地源、内网源、外网源、第三方源。 (对应文档:05-软件包管理/05-02-常用软件安装与yum源配置.md)
  3. 掌握使用 tar 安装源码包,解包后通常配合 ./configure && make && make install 编译安装。 (对应文档:05-软件包管理/05-01-软件管理-RPM-YUM-源码包.md)

六、分区管理

  1. 掌握磁盘使用三步曲:分区 → 格式化 → 挂载,常用命令为 fdisk、mkfs、mount。

    fdisk /dev/sdX          # 分区
    mkfs.ext4 /dev/sdXn     # 格式化(以 ext4 为例)
    mount /dev/sdXn /mnt    # 挂载

    (对应文档:03-磁盘与文件系统/03-01-磁盘与文件系统管理.md)

七、系统状态检测

  1. 掌握系统状态检测的常用命令:

    free             # 内存使用
    top              # 实时进程/CPU/内存
    ps               # 进程快照
    pstree           # 进程树
    df               # 文件系统使用情况
    netstat -ntupl   # 查看监听端口与连接

    (对应文档:04-进程与任务管理/04-01-进程与任务管理.md)

八、系统启动流程

  1. 能够完整描述系统启动流程:

    BIOS
      → MBR
        → grub
          → /boot(内核 kernel、initramfs)
            → root(/) 根文件系统
              → init(systemd/SysVinit)
                → service(/etc/rc.d/init.d/ 或 systemd unit)
                  → rc.local
                    → tty(gdm 图形登录)
                      → login
                        → bash

    (对应文档:03-磁盘与文件系统/03-02-Swap与系统引导.md)

九、网络基础

9.1 网络模型

  1. 掌握 ISO/OSI 七层模型与 TCP/IP 四层模型。 (对应文档:07-网络/07-01-网络基础.md)

9.2 配置与查询

  1. 会使用 ip 命令配置 IP、网关并激活网卡,掌握涉及的主要配置文件:

    /etc/sysconfig/network-scripts/ifcfg-ethX
    /etc/sysconfig/network
    /etc/resolv.conf

    (对应文档:07-网络/07-02-网络配置与远程管理.md)

  2. 会使用 ping 做连通性测试:

    ping 目标主机

    (对应文档:07-网络/07-02-网络配置与远程管理.md)

十、SSH

  1. 了解 SSH 连接慢的常见原因(DNS 反解、GSSAPI 认证等)及其优化方法。 (对应文档:07-网络/07-02-网络配置与远程管理.md)
  2. 掌握密钥对登录:ssh-keygen、ssh-copy-id、免密登录。 (对应文档:04-进程与任务管理/04-02-计划任务与SSH等效性.md)
  3. 会使用 scp 或 rsync 上传/下载文件。 (对应文档:07-网络/07-02-网络配置与远程管理.md)

十一、NTP 时间服务

  1. 能够配置 NTP 服务器。 (对应文档:08-系统服务与日志/08-03-时间同步与超级守护进程.md)
  2. 能够配置客户端与服务器同步时间(ntpdate、ntpd 或 chronyd)。 (对应文档:08-系统服务与日志/08-03-时间同步与超级守护进程.md)

十二、Web 相关服务

12.1 DNS

  1. 掌握缓存 DNS、转发 DNS 的配置,以及正向解析与反向解析。 (对应文档:09-基础网络服务部署/09-01-DNS服务部署.md)

12.2 HTTP

  1. 掌握 HTTP 协议默认监听 80 端口,HTTPS 监听 443 端口。 (对应文档:09-基础网络服务部署/09-03-Apache-HTTP服务.md)
  2. 能够与 DNS 配合(或使用 /etc/hosts)实现基于域名的虚拟主机。 (对应文档:09-基础网络服务部署/09-03-Apache-HTTP服务.md)

12.3 MAIL

  1. 能够通过 DNS 配合 POSTFIX、DOVECOT 实现收发邮件,重点掌握发邮件。 (对应文档:09-基础网络服务部署/09-06-邮件服务.md)

十三、文件共享服务

13.1 NFS

  1. 理解 NFS 由 rpcbind 负责端口管理。 (对应文档:09-基础网络服务部署/09-02-NFS与autofs.md)
  2. 掌握导出配置文件 /etc/exports 的写法。 (对应文档:09-基础网络服务部署/09-02-NFS与autofs.md)
  3. 掌握客户端通过 mount 挂载 NFS 共享。 (对应文档:09-基础网络服务部署/09-02-NFS与autofs.md)

13.2 SAMBA

  1. 能够在 user 模式下实现匿名共享和本地用户登录共享。 (对应文档:09-基础网络服务部署/09-04-Samba服务部署.md)
  2. 能够配置共享文件夹的读写权限管理。 (对应文档:09-基础网络服务部署/09-04-Samba服务部署.md)

13.3 vsftpd

  1. 掌握匿名 FTP 配置,主要用于匿名下载。 (对应文档:09-基础网络服务部署/09-05-FTP服务部署.md)
  2. 掌握本地用户登录 FTP,支持上传和下载。 (对应文档:09-基础网络服务部署/09-05-FTP服务部署.md)

第二部分 练习题

本部分共 19 道基础命令练习题,覆盖目录创建、批量文件创建/重命名、过滤重定向、序列生成、拷贝、排序、元数据、硬/软链接、别名、压缩打包等知识点。建议先独立完成题目清单,再对照参考答案。

一、题目清单

  1. 使用一条命令以递归形式创建多级目录,最少 4 级(创建后格式:/aaa/bbb/ccc/ddd)。
  2. 在根目录下创建一个名为 test 的目录。
  3. 使用命令在刚创建的 test 中创建以字母开头的 24 个普通文件,要求结尾为 .sh。
  4. 使用批量重命名命令将创建好的以 .sh 结尾的普通文件修改为以 .php 结尾。
  5. 使用过滤(grep)找出 /etc/passwd 文件中包含 "root" 字段的行,并使用 > 将过滤出的内容重定向到 /password 文件(如果没有该文件请手动创建)。
  6. 使用 seq 命令输出一个 1–100 的数字序列,要求序列宽度相等,中间分隔符为 :,并用 >> 将生成的序列追加进 /password 文件的尾部(注意是追加不是重定向,不能把之前的内容清空)。
  7. 将 /etc/passwd 拷贝到根目录下,并将其重命名为 abc.txt。
  8. 将 abc.txt 文件的前 10 行重定向到根目录下的 aaa.txt 文件中。
  9. 使用 sort 命令将 aaa.txt 文件进行降序排列。
  10. 使用命令查出 aaa.txt 文件的元数据。
  11. 为 aaa.txt 文件在 /test 目录中分别创建一个硬链接和一个符号链接(硬链接名为 aaa.txt,符号链接名为 bbb.txt)。
  12. 找一个自己比较了解的命令和该命令的选项,为该命令和选项做一个别名,要求使其永久有效。
  13. 在根目录创建一个名为 gzip 的目录,并在该目录创建多个普通文件。
  14. 使用 gzip 命令将第 13 题所创建目录中的所有普通文件进行压缩。
  15. 在虚拟机中的 CentOS 系统中打开浏览器,输入 192.168.1.55 这个 IP,打开"作业"目录,将里面的 test.zip 文件下载到自己的系统内。
  16. 在根目录中创建一个名为 unzip 的目录,使用 unzip 命令对下载下来的 .zip 文件解压缩到该目录中。
  17. 使用 tar 命令将 test 目录进行打包压缩,要求打包压缩后的文件格式为 test.tar.gz(提示:-z 选项调用 gzip)。
  18. 写出使用 tar 命令打包并压缩的命令,要求格式为 filename.tar.gz,并要求显示过程。
  19. 写出使用 tar 命令解包的命令,并要求解包到指定路径(/aaa/bbb/)。

二、参考答案

# 1. 创建多级目录,使用 -p 选项
mkdir -p /aaa/bbb/ccc/ddd

# 2. 在根目录创建 test 目录
mkdir /test

# 3. 在 /test 下创建 a~z 共 26 个以 .sh 结尾的文件
# (题目要求 24 个,原文使用 {a..z} 大括号展开生成 26 个,可按需调整为 {a..x})
touch /test/{a..z}.sh

# 4. 批量将 .sh 改名为 .php
rename .sh .php /test/*.sh

# 5. 过滤 /etc/passwd 中包含 root 的行并写入 /password
grep root /etc/passwd > /password

# 6. 输出等宽、以 : 分隔的 1~100 序列并追加到 /password
seq -w -s ":" 1 100 >> /password

# 7. 拷贝 /etc/passwd 到根目录并命名为 abc.txt
cp /etc/passwd /abc.txt

# 8. 将 abc.txt 前 10 行写入 /aaa.txt
# 题目要求"重定向",使用 > 即可;原答案用 >> 也可在文件不存在时等效创建
head /abc.txt > /aaa.txt

# 9. 对 aaa.txt 做降序排序
sort -r /aaa.txt

# 10. 查看文件元数据
stat /aaa.txt

# 11. 在 /test 下创建硬链接与符号链接
ln /aaa.txt /test/aaa.txt        # 硬链接
ln -s /aaa.txt /test/bbb.txt     # 符号链接

# 12. 定义别名并写入 ~/.bashrc 使其永久生效
alias drm="rm -rf"
vim ~/.bashrc          # 加入 alias drm="rm -rf",保存后 source ~/.bashrc

# 13. 创建 /gzip 目录及多个普通文件
mkdir /gzip
touch /gzip/{1..10}.txt

# 14. 使用 gzip 压缩 /gzip 下所有文件
gzip /gzip/*

# 15. 通过浏览器从 http://192.168.1.55/作业/ 下载 test.zip(图形界面操作)

# 16. 创建 /unzip 并将 test.zip 解压到该目录
mkdir /unzip
unzip -d /unzip/ test.zip

# 17. 将 /test 打包压缩为 test.tar.gz
tar -czvf test.tar.gz /test

# 18. 打包压缩当前目录下的 test 目录并显示过程
tar -czvf test.tar.gz test

# 19. 解包到指定路径 /aaa/bbb/
tar -xzvf test.tar.gz -C /aaa/bbb/

三、关键选项回顾

命令 选项 作用
mkdir -p 递归创建多级目录
seq -w、-s 等宽输出、指定分隔符
rename 旧字符串 新字符串 文件 批量改名
ln -s 创建符号链接;不加 -s 为硬链接
gzip 无 压缩后原文件被替换为 .gz
unzip -d 目录 解压到指定目录
tar -c/-x/-z/-v/-f/-C 创建/解包、gzip、显示过程、指定文件名、切换到指定目录
最后修改:2026 年 09 月 20 日
如果觉得我的文章对你有用,请随意赞赏