Linux 必会知识点与练习
本文合并自:06-第一阶段必会知识点.md、07-练习题.md
本文分为两部分:第一部分是 Linux 运维第一阶段必须掌握的知识点清单,覆盖系统安装与初始化、基础命令、用户与权限、Vim、软件包管理、磁盘分区、系统状态检测、启动流程、网络、SSH、NTP 以及常用的 Web/文件共享服务,每条知识点后标注了对应的学习文档,便于复习时回查;第二部分是 19 道基础命令练习题,题目与参考答案分开排版,便于自测。
第一部分 必会知识点清单
一、操作系统的安装与系统初始化
-
使用图形界面安装 CentOS,安装时选择 GNOME 桌面。 (对应文档:01-Linux基础/01-01-系统安装与环境准备.md)
-
尝试使用文本界面方式安装 CentOS,安装 minimal(最小化)版本。 (对应文档:01-Linux基础/01-01-系统安装与环境准备.md)
-
系统初始化,包含以下五项工作:
- VMware 网络配置;
- 配置登录用户、主机名、IP 地址、网关、DNS;
- 关闭防火墙、关闭 SELINUX;
- 修正时区、同步时间;
- 配置 YUM、SSH 登录。
(对应文档:01-Linux基础/01-01-系统安装与环境准备.md)
二、基本命令的使用
-
掌握常用命令,包括
ls、grep、输出重定向>、管道|等。 (对应文档:01-Linux基础/01-02-Linux基础命令.md) -
学习命令的重点是掌握查询帮助的方法,而不是死记硬背选项:
命令 -h 命令 --help man 命令 info 命令 ls /usr/share/doc(对应文档:01-Linux基础/01-02-Linux基础命令.md)
三、用户、组与权限
3.1 用户管理
-
掌握用户的新建、修改与删除:
useradd 用户名 # 新建用户 usermod 参数 用户名 # 修改用户 userdel 用户名 # 删除用户(对应文档:02-用户与权限/02-01-用户与权限管理.md)
3.2 权限要点
- 理解组的概念。 (对应文档:02-用户与权限/02-01-用户与权限管理.md)
- 掌握权限的三类对象:拥有者(owner)、所属组(group)、其他人(other)。 (对应文档:02-用户与权限/02-01-用户与权限管理.md)
- 掌握三种基本权限:
r(读)、w(写)、x(执行)。 (对应文档:02-用户与权限/02-01-用户与权限管理.md) - 掌握特殊权限:
suid、sgid、sticky(t)。 (对应文档:02-用户与权限/02-01-用户与权限管理.md) - 掌握文件属性锁定命令
chattr。 (对应文档:02-用户与权限/02-01-用户与权限管理.md) - 掌握 ACL 访问控制列表:
getfacl、setfacl。 (对应文档:02-用户与权限/02-01-用户与权限管理.md)
四、Vim 编辑器
- 掌握 Vim 的三种模式(普通模式、插入模式、命令行模式)及常用操作:打开/保存/退出、复制粘贴删除、查找替换、行号跳转、可视块等。 (对应文档:01-Linux基础/01-03-vim编辑器.md)
五、软件包管理
| 工具 | 主要用途 | 常用操作 |
|---|---|---|
rpm |
查询已安装的软件包 | -qa 查询全部、-ql 列文件清单、-qf 查文件属于哪个包 |
yum |
安装和卸载软件包、解决依赖 | 配置本地源、内网源、外网源、第三方源 |
tar |
安装源码包(解包后通常配合 ./configure && make && make install) |
详见后续源码安装章节 |
- 掌握
rpm查询已安装软件包:-qa查询全部、-ql列出文件清单、-qf查询文件属于哪个包。 (对应文档:05-软件包管理/05-01-软件管理-RPM-YUM-源码包.md) - 掌握
yum安装和卸载软件包、自动解决依赖,并会配置本地源、内网源、外网源、第三方源。 (对应文档:05-软件包管理/05-02-常用软件安装与yum源配置.md) - 掌握使用
tar安装源码包,解包后通常配合./configure && make && make install编译安装。 (对应文档:05-软件包管理/05-01-软件管理-RPM-YUM-源码包.md)
六、分区管理
-
掌握磁盘使用三步曲:分区 → 格式化 → 挂载,常用命令为
fdisk、mkfs、mount。fdisk /dev/sdX # 分区 mkfs.ext4 /dev/sdXn # 格式化(以 ext4 为例) mount /dev/sdXn /mnt # 挂载(对应文档:03-磁盘与文件系统/03-01-磁盘与文件系统管理.md)
七、系统状态检测
-
掌握系统状态检测的常用命令:
free # 内存使用 top # 实时进程/CPU/内存 ps # 进程快照 pstree # 进程树 df # 文件系统使用情况 netstat -ntupl # 查看监听端口与连接(对应文档:04-进程与任务管理/04-01-进程与任务管理.md)
八、系统启动流程
-
能够完整描述系统启动流程:
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 网络模型
- 掌握 ISO/OSI 七层模型与 TCP/IP 四层模型。 (对应文档:07-网络/07-01-网络基础.md)
9.2 配置与查询
-
会使用
ip命令配置 IP、网关并激活网卡,掌握涉及的主要配置文件:/etc/sysconfig/network-scripts/ifcfg-ethX /etc/sysconfig/network /etc/resolv.conf(对应文档:07-网络/07-02-网络配置与远程管理.md)
-
会使用
ping做连通性测试:ping 目标主机(对应文档:07-网络/07-02-网络配置与远程管理.md)
十、SSH
- 了解 SSH 连接慢的常见原因(DNS 反解、GSSAPI 认证等)及其优化方法。 (对应文档:07-网络/07-02-网络配置与远程管理.md)
- 掌握密钥对登录:
ssh-keygen、ssh-copy-id、免密登录。 (对应文档:04-进程与任务管理/04-02-计划任务与SSH等效性.md) - 会使用
scp或rsync上传/下载文件。 (对应文档:07-网络/07-02-网络配置与远程管理.md)
十一、NTP 时间服务
- 能够配置 NTP 服务器。 (对应文档:08-系统服务与日志/08-03-时间同步与超级守护进程.md)
- 能够配置客户端与服务器同步时间(
ntpdate、ntpd或chronyd)。 (对应文档:08-系统服务与日志/08-03-时间同步与超级守护进程.md)
十二、Web 相关服务
12.1 DNS
- 掌握缓存 DNS、转发 DNS 的配置,以及正向解析与反向解析。 (对应文档:09-基础网络服务部署/09-01-DNS服务部署.md)
12.2 HTTP
- 掌握 HTTP 协议默认监听
80端口,HTTPS 监听443端口。 (对应文档:09-基础网络服务部署/09-03-Apache-HTTP服务.md) - 能够与 DNS 配合(或使用
/etc/hosts)实现基于域名的虚拟主机。 (对应文档:09-基础网络服务部署/09-03-Apache-HTTP服务.md)
12.3 MAIL
- 能够通过 DNS 配合 POSTFIX、DOVECOT 实现收发邮件,重点掌握发邮件。 (对应文档:09-基础网络服务部署/09-06-邮件服务.md)
十三、文件共享服务
13.1 NFS
- 理解 NFS 由
rpcbind负责端口管理。 (对应文档:09-基础网络服务部署/09-02-NFS与autofs.md) - 掌握导出配置文件
/etc/exports的写法。 (对应文档:09-基础网络服务部署/09-02-NFS与autofs.md) - 掌握客户端通过
mount挂载 NFS 共享。 (对应文档:09-基础网络服务部署/09-02-NFS与autofs.md)
13.2 SAMBA
- 能够在 user 模式下实现匿名共享和本地用户登录共享。 (对应文档:09-基础网络服务部署/09-04-Samba服务部署.md)
- 能够配置共享文件夹的读写权限管理。 (对应文档:09-基础网络服务部署/09-04-Samba服务部署.md)
13.3 vsftpd
- 掌握匿名 FTP 配置,主要用于匿名下载。 (对应文档:09-基础网络服务部署/09-05-FTP服务部署.md)
- 掌握本地用户登录 FTP,支持上传和下载。 (对应文档:09-基础网络服务部署/09-05-FTP服务部署.md)
第二部分 练习题
本部分共 19 道基础命令练习题,覆盖目录创建、批量文件创建/重命名、过滤重定向、序列生成、拷贝、排序、元数据、硬/软链接、别名、压缩打包等知识点。建议先独立完成题目清单,再对照参考答案。
一、题目清单
- 使用一条命令以递归形式创建多级目录,最少 4 级(创建后格式:
/aaa/bbb/ccc/ddd)。 - 在根目录下创建一个名为
test的目录。 - 使用命令在刚创建的
test中创建以字母开头的 24 个普通文件,要求结尾为.sh。 - 使用批量重命名命令将创建好的以
.sh结尾的普通文件修改为以.php结尾。 - 使用过滤(
grep)找出/etc/passwd文件中包含 "root" 字段的行,并使用>将过滤出的内容重定向到/password文件(如果没有该文件请手动创建)。 - 使用
seq命令输出一个 1–100 的数字序列,要求序列宽度相等,中间分隔符为:,并用>>将生成的序列追加进/password文件的尾部(注意是追加不是重定向,不能把之前的内容清空)。 - 将
/etc/passwd拷贝到根目录下,并将其重命名为abc.txt。 - 将
abc.txt文件的前 10 行重定向到根目录下的aaa.txt文件中。 - 使用
sort命令将aaa.txt文件进行降序排列。 - 使用命令查出
aaa.txt文件的元数据。 - 为
aaa.txt文件在/test目录中分别创建一个硬链接和一个符号链接(硬链接名为aaa.txt,符号链接名为bbb.txt)。 - 找一个自己比较了解的命令和该命令的选项,为该命令和选项做一个别名,要求使其永久有效。
- 在根目录创建一个名为
gzip的目录,并在该目录创建多个普通文件。 - 使用
gzip命令将第 13 题所创建目录中的所有普通文件进行压缩。 - 在虚拟机中的 CentOS 系统中打开浏览器,输入
192.168.1.55这个 IP,打开"作业"目录,将里面的test.zip文件下载到自己的系统内。 - 在根目录中创建一个名为
unzip的目录,使用unzip命令对下载下来的.zip文件解压缩到该目录中。 - 使用
tar命令将test目录进行打包压缩,要求打包压缩后的文件格式为test.tar.gz(提示:-z选项调用 gzip)。 - 写出使用
tar命令打包并压缩的命令,要求格式为filename.tar.gz,并要求显示过程。 - 写出使用
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、显示过程、指定文件名、切换到指定目录 |
此处评论已关闭