ARTICLE · 软件编程
Linux 目录结构背后的设计哲学,不懂真的会栽跟头……
一语总结本文从 SRE 视角系统梳理 Linux 目录结构的设计哲学(FHS),逐目录拆解职责边界与典型踩坑场景,强调理解设计意图而非死记硬背。
文章以 SRE 实战视角重新解读 Linux 文件系统层次结构(FHS),指出目录划分遵循两条核心维度:使用者身份(普通用户 vs root)与内容可变性(静态 vs 动态)。在此框架下逐目录拆解 /bin、/sbin、/etc、/var、/proc、/sys、/dev、/home、/root、/usr、/tmp、/mnt、/media、/opt、/boot、/lost+found 的职责与典型使用场景,每个目录都配有 SRE 实战经验与踩坑提示,例如 /usr/local/bin 路径优先级、/etc/fstab 改错导致无法启动、/var/log 未做 rotate 导致磁盘打满、/proc 调整内核参数缓解 TIME_WAIT 等。文末以表格总结高频目录的日常用途与注意事项,强调 Linux 目录结构背后的设计哲学是职责分离、变化隔离与权限边界清晰。
- Linux 目录结构遵循 FHS 标准,按使用者与可变性两个维度组织。
按使用者分为普通用户(/bin、/home)与 root(/sbin、/root);按可变性分为静态(/bin、/lib、/usr)与动态(/var、/tmp、/run),理解这两条轴线就能把握整体设计。
- /etc 是配置大本营,修改前必须备份。
/etc/hosts 是内网 DNS 故障排查首选,/etc/fstab 写错会导致机器重启后无法进入系统,/etc/sudoers 必须用 visudo 编辑。
- /var 是运维日常战场,日志轮转是基本功。
/var/log 未做 logrotate 是磁盘打满的常见原因,MySQL 默认数据目录也在 /var/lib/mysql,需要重点监控。
- /proc 与 /sys 是内核窗口,可实时调整系统行为。
/proc 是内存映射的虚拟文件系统,通过写入 /proc/sys 下的文件可临时调整内核参数(如 tcp_fin_timeout),持久化需写入 /etc/sysctl.conf。
- Linux 一切皆文件的设计在 /dev 体现得淋漓尽致。
硬件设备、随机数源、黑洞(/dev/null)都以文件形式存在,2>/dev/null、dd 操作磁盘、生成随机密码等高频用法都基于此。
Linux 目录结构背后的设计哲学,不懂真的会栽跟头……
文章以 SRE 实战视角重新解读 Linux 文件系统层次结构(FHS),指出目录划分遵循两条核心维度:使用者身份(普通用户 vs root)与内容可变性(静态 vs 动态)。在此框架下逐目录拆解 /bin、/sbin、/etc、/var、/proc、/sys、/dev、/home、/root、/usr、/tmp、/mnt、/media、/opt、/boot、/lost+found 的职责与典型使用场景,每个目录都配有 SRE 实战经验与踩坑提示,例如 /usr/local/bin 路径优先级、/etc/fstab 改错导致无法启动、/var/log 未做 rotate 导致磁盘打满、/proc 调整内核参数缓解 TIME_WAIT 等。文末以表格总结高频目录的日常用途与注意事项,强调 Linux 目录结构背后的设计哲学是职责分离、变化隔离与权限边界清晰。
文章金句
"这不是死记硬背的知识,是用出来的肌肉记忆。
"Linux 目录结构背后有一套一致的设计哲学:职责分离、变化隔离、权限边界清晰。
"这不是乱,这是刻意设计的结果。