Linux 基础技能树 (云原生预备 / 运维自动化方向)26-06-04(为期3-4月)

Linux 基础技能树 v2.1

云原生预备 / 运维自动化方向

0. 核心原则

  • 每个命令都要亲手敲过。
  • 优先掌握能排查问题、写脚本、做自动化的命令。
  • 不追求一次性背全命令参数,只掌握高频选项。
  • 所有破坏性命令必须在测试目录、WSL、虚拟机或临时容器中练习。
  • Linux 学习要和 Python 自动化结合:
    • subprocess
    • pathlib
    • logging
    • requests
    • json
    • csv
    • pytest

第一层: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:修改权限
    • 数字模式:755644
    • 符号模式: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
  • traceroutetracepath
  • 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 报错,不一定是你学错了。
  • 可以选择:
    1. 启用 WSL systemd 后再练 systemctl;
    2. 使用 service 命令做基础服务练习;
    3. 用 Docker Desktop / Docker 容器练服务启动与日志;
    4. 后续在 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. 文件与权限

你应该能:

  • 创建一个目录结构
  • 创建多个文件
  • 查找某个文件
  • 查看文件大小
  • 查看文件类型
  • 查看文件元数据
  • 修改脚本为可执行
  • 解释 755644

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.run
  • capture_output=True
  • text=True
  • returncode
  • stdout
  • stderr
  • 简单字符串解析
  • 基础异常处理

与 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 打下坚实基础。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
foollisher
下载 APP