Linux 基础技能树 (云原生预备 / 运维自动化方向)26-06-04(为期3-4月)
Linux 基础技能树 v2.1
云原生预备 / 运维自动化方向
0. 核心原则
- 每个命令都要亲手敲过。
- 优先掌握能排查问题、写脚本、做自动化的命令。
- 不追求一次性背全命令参数,只掌握高频选项。
- 所有破坏性命令必须在测试目录、WSL、虚拟机或临时容器中练习。
- Linux 学习要和 Python 自动化结合:
subprocesspathlibloggingrequestsjsoncsvpytest
第一层:P0 基础命令与文件操作
这一层是第一轮必须掌握的 Linux 基础。
目标:
▼text复制代码会看文件 会查目录 会改权限 会查磁盘 会读帮助 会用 grep/find 会理解路径和权限
1. 文件与目录管理 P0
必须掌握:
-
pwd:查看当前目录 -
ls:查看目录内容-
ls -l -
ls -a -
ls -h -
ls -t
-
-
cd:切换目录 -
mkdir:创建目录-
mkdir -p
-
-
touch:创建空文件 / 更新时间戳 -
cp:复制文件或目录-
cp -r -
cp -i -
cp -u
-
-
mv:移动 / 重命名 -
rm:删除文件-
rm -i -
rm -r -
rm -f
-
-
file:查看文件类型 -
stat:查看文件元数据、权限、时间、inode
暂时了解:
-
rmdir:删除空目录
高风险提醒:
▼text复制代码rm -rf 很危险。 第一阶段只在测试目录里练习。 不要对 /、/home、/etc、系统目录执行递归删除。
2. 文件查看与文本搜索 P0
必须掌握:
-
cat:查看小文件 -
head:查看文件开头-
head -n
-
-
tail:查看文件结尾-
tail -n -
tail -f
-
-
less:分页查看大文件 -
grep:搜索文本-
grep -i -
grep -v -
grep -r -
grep -n -
grep -A -
grep -B -
grep -C
-
-
find:查找文件- 按名称查找
- 按类型查找
- 按大小查找
- 按时间查找
可以后置:
-
tac -
more -
find -exec高级用法
基础正则:
-
.:任意字符 -
*:重复 -
^:行首 -
$:行尾 -
[]:字符集合 -
.*:任意长度内容
3. 文本处理三件套 P0 / P1
P0 必须掌握:
-
grep:筛选行 -
wc:统计行数、字数、字符数-
wc -l
-
-
sort:排序 -
uniq:去重-
uniq -c
-
-
awk基础列提取-
awk '{print $1}' -
awk '{print $2}' -
awk '{print $NF}'
-
P1 第二轮掌握:
-
awk条件过滤-
awk '$9 >= 500' -
awk -F',' '{print $1}'
-
-
sed:文本替换和流编辑-
sed 's/old/new/g'
-
-
cut:按分隔符截取字段
目标能力:
▼text复制代码能从日志里筛出 ERROR 能统计错误次数 能找 Top IP 能按字段提取信息 能把结果输出成报告
4. 文件编辑器 P0
至少会一个。
推荐先学:
-
nano:简单编辑文件
然后最低限度掌握 vim:
-
vim file -
i:进入编辑模式 -
Esc:退出编辑模式 -
:wq:保存退出 -
:q!:不保存退出 -
/keyword:搜索 -
dd:删除一行
目标:
▼text复制代码能在服务器或 WSL 里修改配置文件。 不需要成为 Vim 高手。
5. 权限与所有者 P0
必须掌握:
-
chmod:修改权限- 数字模式:
755、644 - 符号模式:
u+x
- 数字模式:
-
chown:修改所有者和组 -
sudo:以管理员权限执行命令
需要理解:
- owner / group / others
- read / write / execute
- 目录的执行权限含义
- 为什么脚本没有执行权限会报错
了解即可:
-
umask -
visudo概念
高风险提醒:
▼text复制代码chmod -R 和 chown -R 很危险。 不要随意对系统目录递归修改权限。 不要直接乱改 /etc/sudoers。
6. 磁盘与文件系统 P0
必须掌握:
-
df -h:查看磁盘空间 -
df -i:查看 inode -
du -sh:查看目录大小 -
du --max-depth=1:查看一级目录大小 -
ln -s:创建软链接
了解即可:
- 硬链接概念
-
lsblk:查看块设备 -
mount/umount:挂载概念
目标能力:
▼text复制代码能判断磁盘是否满 能判断 inode 是否耗尽 能找出哪个目录占空间最大 能理解软链接是什么
7. 帮助与命令定位 P0
必须掌握:
-
man -
command --help -
which -
type
了解:
-
whereis -
info
需要知道:
▼text复制代码man 5 passwd man 1 ls man 8 systemctl
目标:
▼text复制代码遇到不会的命令,能自己查基本用法。
第二层:P0 / P1 系统操作、管道与脚本基础
这一层是从“会敲命令”进入“能排障、能写脚本”的关键。
8. 输入输出、重定向与管道 P0
必须掌握:
-
>:覆盖输出到文件 -
>>:追加输出到文件 -
<:从文件读取输入 -
2>:重定向 stderr -
&>:同时重定向 stdout 和 stderr -
|:管道 -
tee:同时输出到屏幕和文件
必须理解:
- stdin
- stdout
- stderr
- exit code
-
$?
P1 掌握:
-
xargs:把标准输入转成命令参数
安全练习:
-
find . -name '*.log' | xargs wc -l - (了解但谨慎)
find . -name '*.tmp' -print0 | xargs -0 rm
高风险提醒:
▼text复制代码xargs 配合 rm 使用前,必须先把 rm 换成 echo 检查目标文件。
目标能力:
▼text复制代码能把多个命令串起来。 能把命令结果保存成证据。 能区分正常输出和错误输出。
9. 进程管理 P0
必须掌握:
-
ps aux -
ps -ef -
top -
kill-
kill -15 -
kill -9
-
-
pgrep -
pkill
P1 掌握:
-
htop -
jobs -
fg -
bg -
& -
nohup -
tmux
了解:
-
screen -
killall
必须理解:
- PID
- parent process
- foreground / background
- signal
- SIGTERM vs SIGKILL
目标能力:
▼text复制代码能判断进程是否存在。 能找到高 CPU / 高内存进程。 能正常停止进程。 能解释 kill -15 和 kill -9 的区别。
10. 系统资源观察 P0 / P1
P0 必须掌握:
-
free -h:查看内存 -
uptime:查看运行时间和 load average -
top:查看 CPU / 内存占用
P1 掌握:
-
vmstat -
iostat
目标能力:
▼text复制代码能初步判断 CPU、内存、负载是否异常。
11. 网络基础 P0
必须掌握:
-
curl-
curl -I -
curl -X -
curl -d -
curl -H -
curl -o -
curl -v
-
-
ping -
ss-
ss -tulnp
-
-
lsof-
lsof -i :PORT
-
-
dig -
ip-
ip addr -
ip link -
ip route
-
-
hostname -
uname
P1 掌握:
-
wget -
traceroute或tracepath -
nslookup
目标能力:
▼text复制代码能判断服务是否监听端口。 能判断端口被哪个进程占用。 能用 curl 测试 HTTP/API。 能用 dig 排查 DNS。 能查看本机 IP 和路由。
12. 用户与组 P1
第一轮不必太深入。
需要掌握:
-
whoami -
id -
who -
w -
passwd
了解:
-
useradd -
userdel -
groupadd -
groupdel -
/etc/passwd -
/etc/group -
/etc/sudoers
高风险提醒:
▼text复制代码userdel / groupdel 不要在真实主机随意练习。
13. 软件包管理 P0 / P1
Ubuntu / Debian 必须掌握:
-
apt update -
apt install -
apt remove -
apt search -
apt list --installed
了解:
-
dnf -
yum -
./configure -
make -
make install
目标能力:
▼text复制代码能安装基础工具。 能判断命令缺失时该安装什么包。
14. 压缩与归档 P0
必须掌握:
-
tar -czvf -
tar -xzvf -
gzip -
gunzip -
zip -
unzip
了解:
-
tar -cjvf -
tar -xjvf
目标能力:
▼text复制代码能打包日志。 能解压项目包。 能备份目录。
15. 计划任务 P1
掌握:
- cron 表达式
- 分
- 时
- 日
- 月
- 周
-
crontab -e -
crontab -l
谨慎:
-
crontab -r
了解:
- systemd timer
高风险提醒:
▼text复制代码crontab -r 会删除当前用户所有 cron 任务。 练习前先 crontab -l 备份。
16. 环境变量与 Shell 配置 P0
必须掌握:
-
env -
export -
echo $PATH -
PATH -
HOME -
LANG -
alias
了解:
-
set -
~/.bashrc -
~/.profile -
/etc/profile
目标能力:
▼text复制代码能解释环境变量是什么。 能解释为什么程序需要 DATABASE_URL。 能理解为什么命令找不到。
17. 服务管理与日志 P0 / P1
P0 必须掌握:
-
systemctl status <service> -
systemctl start <service> -
systemctl stop <service> -
systemctl restart <service> -
journalctl -u <service> -
journalctl -u <service> -f
P1 掌握:
-
systemctl enable -
systemctl disable -
journalctl -xe -
journalctl --since
了解:
- systemd unit 文件
- service unit 基础结构
WSL 提醒:
- WSL2 较新版本支持启用 systemd,但不一定默认开启。
- 如果
systemctl/journalctl报错,不一定是你学错了。 - 可以选择:
- 启用 WSL systemd 后再练 systemctl;
- 使用
service命令做基础服务练习; - 用 Docker Desktop / Docker 容器练服务启动与日志;
- 后续在 Linux VM 或云服务器中补真实 systemd 体验。
18. Shell 脚本基础 P0 / P1
P0 必须掌握:
-
#!/bin/bash - 变量赋值:
var=value - 变量引用:
$var - 安全引用:
"$var" - 特殊变量:
-
$0 -
$1 -
$# -
$@ -
$? -
$$
-
- 条件测试:
-
-f -
-d -
-x -
-eq -
-ne -
-lt -
= -
!= -
-z
-
-
if / then / elif / else / fi -
for -
while -
case -
exit
P1 掌握:
- 函数定义与调用
-
set -e -
set -u -
set -o pipefail -
shellcheck了解
目标能力:
▼text复制代码能写一个接收参数、检查文件、输出结果、返回 exit code 的脚本。
第三层:P1 / P2 自动化运维场景
这一层不要求一开始全部掌握。
等 Python 基础和 Linux P0 掌握后,再逐步做。
19. 日志分析 P1
必须练习:
- 使用
grep搜索 ERROR / WARN - 使用
tail -f实时跟踪日志 - 使用
grep -A/-B/-C查看上下文 - 使用
awk提取字段 - 使用
sort | uniq -c | sort -nr统计 Top 项 - 使用
wc -l统计错误行数
可以后置:
-
grep --line-buffered - 将分析结果通过 webhook / 邮件发送
第一阶段建议只做:
▼text复制代码把分析结果写入文件。 不要一开始折腾邮件告警。
20. 系统监控与告警 P1
练习目标:
- 检查 CPU
- 检查内存
- 检查磁盘
- 检查 inode
- 检查进程数
- 检查指定进程是否存在
- 检查指定端口是否监听
结合:
- cron 定期执行
- 输出日志文件
- 超过阈值返回非 0 exit code
- Python 使用
subprocess调用脚本并处理结果
21. 文件备份与同步 P1
掌握:
-
rsync本地同步 -
rsync远程同步 -
tar + cron定时备份 - 增量备份思路
了解:
- 备份保留周期
- 备份恢复验证
目标:
▼text复制代码不只是备份,还要能恢复。
22. 远程管理 P1
掌握:
-
ssh -
ssh-keygen -
ssh-copy-id -
scp -
rsync over SSH -
~/.ssh/config
目标能力:
▼text复制代码能用密钥登录远程主机。 能传文件。 能同步目录。 能配置常用 SSH Host。
23. 网络排查实例 P1
必须能完成:
- 用
ping判断基础连通性 - 用
dig判断 DNS 解析 - 用
ss判断端口监听 - 用
lsof判断端口占用进程 - 用
curl判断 HTTP 可达性 - 用
curl -v区分连接失败、TLS 问题、HTTP 错误 - 用
ip addr/ip route查看本机网络状态
目标能力:
▼text复制代码能区分: DNS 失败 连接失败 端口未监听 服务返回 4xx / 5xx 请求超时
24. 服务管理排查 P1
必须能完成:
-
systemctl status <service> -
journalctl -u <service> -f - 找到服务启动失败原因
- 找到配置文件错误
- 找到端口占用问题
- 重启服务并验证
- 判断服务是否开机自启
第四层:云原生前置 Linux 概念 P1 / P2
这一层主要是为 Docker、Kubernetes、SRE 打基础。
现在不要求深学,但要知道概念。
25. 云原生前置概念 P1
必须理解:
- process / PID
- parent process
- signal
- SIGTERM
- SIGKILL
- stdout
- stderr
- stdin
- exit code
- environment variables
- file descriptor
- port
- socket
- listen
- DNS
-
/etc/hosts -
/etc/resolv.conf
目标:
▼text复制代码能解释一个服务如何启动、监听端口、输出日志、接收信号、退出并返回状态码。
26. 容器前置概念 P2
了解即可:
- namespace
- cgroups
- mount namespace
- network namespace
- PID namespace
- resource limits
- container stdout/stderr 日志模型
学习时机:
- 第一轮 Linux 学习只需知道名字和大概用途。
- 学 Docker 前重新复习。
- 学 Kubernetes requests / limits、Pod 网络、日志模型时再深入。
目标:
▼text复制代码知道 Docker / Kubernetes 不是魔法。 它们依赖 Linux 的进程、网络、文件系统、namespace、cgroups 等机制。
第五层:高风险命令清单
这些命令要特别小心。
27. 高风险命令
谨慎练习:
-
rm -rf -
chmod -R -
chown -R -
userdel -
groupdel -
crontab -r -
systemctl disable -
kill -9 -
dd -
mkfs
当前阶段不建议练:
-
dd -
mkfs
原则:
▼text复制代码破坏性命令只在测试目录、临时容器、虚拟机里练。 不要对真实系统目录、真实数据目录、重要家目录操作。
第一轮验收标准
学完 P0 后,你应该能完成下面这些任务。
A. 文件与权限
你应该能:
- 创建一个目录结构
- 创建多个文件
- 查找某个文件
- 查看文件大小
- 查看文件类型
- 查看文件元数据
- 修改脚本为可执行
- 解释
755和644
B. 日志查看
你应该能:
- 查看日志最后 50 行
- 实时跟踪日志
- 搜索
ERROR - 显示
ERROR前后 3 行 - 统计
ERROR出现次数 - 把结果写入文件
C. 进程排查
你应该能:
- 查看当前进程
- 找到某个 Python 进程
- 判断 CPU / 内存占用
- 正常停止进程
- 解释
kill -15 - 解释
kill -9
D. 端口排查
你应该能:
- 查看
8000端口是否监听 - 找到哪个进程占用
8000 - 用
curl请求本地服务 - 解释 HTTP status code
- 判断是服务没启动、端口没监听,还是 HTTP 返回错误
E. DNS / 网络排查
你应该能:
- 用
dig查询域名 - 用
curl判断 API 是否可达 - 区分 DNS 失败、连接失败、HTTP 500
- 查看本机 IP 地址
- 查看路由
F. 磁盘排查
你应该能:
- 查看磁盘是否满
- 查看 inode 是否满
- 找出哪个目录占空间最大
- 知道磁盘满会导致哪些服务问题
G. Bash 脚本验收
你应该能写一个 Bash 脚本,完成:
▼text复制代码1. 接收一个目录参数 2. 检查目录是否存在 3. 统计其中 .log 文件数量 4. 搜索 ERROR 行数 5. 输出结果 6. 如果 ERROR 数量大于 0,返回非 0 exit code
H. Python + subprocess 运维自动化验收
你应该能写一个 Python 脚本,完成:
▼text复制代码1. 使用 subprocess 调用 df -h 2. 捕获 stdout / stderr 3. 检查 returncode 4. 解析磁盘使用率 5. 当某个挂载点使用率 > 80% 时打印 WARNING 6. 命令失败时输出错误信息
最低实现目标:
▼text复制代码python disk_check.py
输出示例:
▼text复制代码OK: / usage is 42% WARNING: /mnt/data usage is 86%
要点:
subprocess.runcapture_output=Truetext=Truereturncodestdoutstderr- 简单字符串解析
- 基础异常处理
与 Python 并行的 8 周学习顺序
第 1-2 周
Python 主线:
▼text复制代码CS50P 基础语法 变量 字符串 list / dict if / for / while 函数
Linux 并行任务:
▼text复制代码文件目录 文件查看 权限 帮助文档 磁盘基础
重点命令:
▼text复制代码pwd, ls, cd, mkdir, touch, cp, mv, rm cat, head, tail, less, grep chmod, chown, df, du, man
第 3-4 周
Python 主线:
▼text复制代码文件读写 异常处理 模块 JSON / CSV
Linux 并行任务:
▼text复制代码grep / find 管道 重定向 进程 系统资源
重点命令:
▼text复制代码find, grep, wc, sort, uniq >, >>, 2>, |, tee ps, top, kill, free, uptime
第 5-6 周
Python 主线:
▼text复制代码argparse logging requests pytest pathlib
Linux 并行任务:
▼text复制代码网络 环境变量 压缩 软件包 cron 入门
重点命令:
▼text复制代码curl, ss, lsof, dig, ip env, export, echo $PATH tar, gzip, unzip apt, crontab
第 7-8 周
Python 主线:
▼text复制代码Python 小工具雏形 HTTP health checker log analyzer disk checker
Linux 并行任务:
▼text复制代码Bash 脚本 systemctl journalctl ssh 基础
重点命令:
▼text复制代码bash script systemctl status journalctl -u ssh, scp
第 9 周以后
进入 Python + Linux 结合阶段:
▼text复制代码HTTP health checker log analyzer disk usage reporter port checker service status checker simple incident note generator
每个小工具开始加入:
▼text复制代码README how to run sample input/output basic error handling run log known limitations
最终定位
这份 v2.1 技能树是针对“云原生预备 / 运维自动化”方向设计的:
▼text复制代码Linux 基础 + 运维自动化入口 + 云原生前置概念 + Python 自动化结合点 + 排障能力预备
第一轮不要追求全打勾。
第一轮只要把 P0 掌握到能做到 A~H 验收标准,就合格。
做到这个程度,就可以进入 Python 运维小工具阶段,为 Docker、K8s、监控、CI/CD 打下坚实基础。
