Explain Linux by architecture, not by memorizing commands.
一份面向初学者的 Linux 知识地图。
不讲"背下这 100 个命令",而是回答一个更根本的问题:
我按下了电源键,屏幕上出现了一个能打字的命令行 —— 这中间到底发生了什么?每一层是谁在负责?出问题是哪一层的锅?
大多数 Linux 教材的问题是按命令分类(文件命令 / 网络命令 / 权限命令),结果初学者学完还是不知道一块网卡从通电到能 ping 通要经过哪些组件。本仓库反过来,按系统分层来讲,每一章回答三个问题:
- 这一层是干什么的,为什么必须有它?
- 它的关键组件和配置文件在哪里?
- 它坏了会表现出什么症状,怎么排查?
一台 Linux 机器从通电到可用,是一条自下而上的链条。把它记住,后面每一章都只是往链条上挂细节:
flowchart TD
A["① 固件 UEFI / BIOS"] --> B["② 引导程序 GRUB"]
B --> C["③ 内核 Kernel + initramfs"]
C --> D["④ init 系统 systemd (PID 1)"]
D --> E["⑤ 内核子系统:进程/内存/文件系统/网络/cgroup"]
D --> F["⑥ 用户空间服务:网络、日志、SSH、桌面"]
F --> G["⑦ 登录会话 Shell / 桌面"]
E -.->|procfs / sysfs 暴露接口| H["/proc /sys"]
H -.-> D
三个关键认知(新手最容易缺的):
| 认知 | 说明 |
|---|---|
| 内核只有一份,发行版有无数 | 发行版 = 内核 + 用户态工具 + 包管理 + 默认配置。Debian 和 Arch 的差异 90% 在用户态。 |
| 一切皆文件,但文件不都是磁盘 | /proc、/sys、/dev 是内核开的窗口,读写它们等于给内核下命令。 |
| systemd 不只是一个 init | 它同时是服务管理器、日志系统、定时器、会话管理、网络配置器。现代 Linux 的"中央调度室"。 |
| # | 章节 | 关键词 | 状态 |
|---|---|---|---|
| 00 | 总览:一台 Linux 机器是怎么跑起来的 | 分层模型、开机全景 | 🚧 |
| 01 | 引导与内核 | UEFI、ESP、GRUB、initramfs、Kconfig、/proc/cmdline、cgroup |
🚧 |
| 02 | 系统初始化与进程管理 | PID 1、systemd、unit、target、journal、signal | 🚧 |
| 03 | 文件系统与存储 | 分区、fstab、ext4/xfs/btrfs、LVM、inode | 🚧 |
| # | 章节 | 关键词 | 状态 |
|---|---|---|---|
| 04 | 用户、权限与安全 | 用户组、sudo、PAM、ACL、SELinux/AppArmor | 🚧 |
| 05 | Shell 与命令行 | bash/zsh/fish、管道、重定向、脚本 | 🚧 |
| 06 | 发行版与包管理 | Debian/RHEL/Arch/Alpine、apt/dnf/pacman/apk | 🚧 |
| 11 | 运行时与开发工具链 | libc/glibc、动态链接、binutils、gcc | 🚧 |
| # | 章节 | 关键词 | 状态 |
|---|---|---|---|
| 07 | 网络基础与配置 | 接口、路由、DNS、nsswitch.conf、DHCP、netplan/NetworkManager |
🚧 |
| 08 | 网络服务与应用 | nginx、DNS 服务、NTP 客户端、CUPS 打印 | 🚧 |
| 09 | 防火墙与内核网络参数 | netfilter、iptables、nftables、firewalld、ufw、sysctl | 🚧 |
| # | 章节 | 关键词 | 状态 |
|---|---|---|---|
| 10 | 图形桌面栈 | Xorg/Wayland、DM/DE/WM、D-Bus、输入法、字体 | 🚧 |
| # | 章节 | 关键词 | 状态 |
|---|---|---|---|
| 12 | 虚拟化 | KVM、QEMU、libvirt、virsh | 🚧 |
| 13 | 容器 | namespace、cgroup、docker、containerd、podman | 🚧 |
| 14 | 远程访问与文件传输 | ssh、scp、rsync、隧道 | 🚧 |
| 15 | 日志、排障与性能观测 | journalctl、dmesg、perf、eBPF | 🚧 |
| # | 附录 | 内容 |
|---|---|---|
| A | 命令速查表 | 按场景索引的高频命令 |
| B | 术语中英对照 | 易混淆术语辨析 |
状态说明:🚧 已有骨架待补充细节 · ✅ 已完成 · ⬜ 未开始
三条路线,按你的目标选一条:
| 路线 | 适合谁 | 阅读顺序 |
|---|---|---|
| 使用者路线 | 刚装完 Linux,想能干活 | 05 → 06 → 04 → 07 → 14 |
| 运维路线 | 要管服务器 | 01 → 02 → 07 → 09 → 08 → 15 |
| 架构路线 | 想搞懂原理(推荐) | 00 → 01 → 02 → 03 → 13 → 12 |
建议的读法:读每一章时开着终端,用 man、--help、systemctl status 去验证文档里说的东西。本仓库不替代 man,它是 man 的索引和地图。
- 命令前的
$表示普通用户,#表示 root。 - 示例默认在 Debian/Ubuntu 系上验证,其他发行版差异会在正文标注。
- 涉及修改
/etc的操作一律标注⚠️ 。 - 本仓库只讲"这件事的结构和原理",具体调优参数请查阅对应官方文档。
发现错误、有更好的讲法、想补一章 —— 都欢迎:
- 提 Issue 指出问题或提需求
- 提 PR 直接改进内容(每章末尾的「待补充」列表就是可以直接认领的 TODO)
- 觉得有用请点个 Star ⭐,这是持续更新的动力
MIT © 2026 LeisureLinux
Enjoy Life, Enjoy Linux.