Linux文件系统与目录结构
Linux 采用统一目录树,所有文件系统和设备都挂载到这棵树上。理解目录结构能帮助你快速定位配置、日志、可执行文件和运行时状态。
# 1. 学习目标
- 理解 Linux FHS 目录规范和常见目录用途。
- 掌握路径、软链接、硬链接、挂载点和文件类型。
- 能排查磁盘空间、权限、链接和挂载问题。
# 2. 知识框架
Linux文件系统与目录结构
├─ 入门:建立术语、对象和日常操作的直觉
├─ 进阶:理解机制、边界和跨平台差异
└─ 专家:能排障、能设计、能阅读实现和研究材料
/ 是统一入口,/etc 管配置,/var 管变化数据,/usr 管程序资源,/home 管用户,/proc 和 /sys 暴露内核视图。
# 3. 核心概念
| 主题 | 说明 | 工程关注 |
|---|---|---|
| /etc | 系统和服务配置目录 | 配置备份、变更审计 |
| /var | 日志、缓存、队列、数据库等变化数据 | 容量监控、日志清理 |
| /proc | 进程和内核状态的虚拟文件系统 | 排障、性能观测 |
| 链接 | 软链接指向路径,硬链接指向同一 inode | 部署切换、文件引用关系 |
# 4. 机制与实践
- 配置文件修改前先备份,并记录变更原因。
- 日志目录单独监控容量,避免 /var 打满导致服务异常。
- 挂载数据盘时用 UUID 或稳定设备名,避免重启后设备名变化。
# 5. 常用命令与工具
| 命令或工具 | 作用 | 使用建议 |
|---|---|---|
ls -lah | 查看文件详细信息和隐藏文件 | 日常定位文件属性 |
readlink -f path | 解析软链接真实路径 | 排查部署目录 |
findmnt | 查看挂载树 | 确认目录对应哪个文件系统 |
# 6. 常见误区
- 在 /tmp 放长期数据:临时目录可能被清理,重启或策略执行后数据丢失。
- 不了解软链接目标:删除或替换链接目标会影响所有引用路径。
- 把 /proc 当真实磁盘文件:/proc 是内核暴露的虚拟视图,大小和内容语义特殊。
# 7. 进阶研究方向
- 学习 FHS 目录规范和各发行版差异。
- 研究 overlayfs、bind mount 和容器挂载。
- 用 /proc/pid 观察进程命令、环境变量、文件描述符和内存映射。
# 8. Tips 快问快答
Q:/usr 和 /usr/local 有什么区别?
A:/usr 通常由发行版包管理维护,/usr/local 常用于本机手工安装的软件。
Q:软链接和硬链接区别是什么?
A:软链接保存目标路径,硬链接是同一 inode 的多个目录项。
Q:为什么 /proc 文件大小看起来不准?
A:/proc 是虚拟文件系统,内容由内核动态生成,不是普通磁盘文件。
# 9. 总结
Linux 目录结构是一张运维地图。熟悉它后,配置、日志、程序、进程状态和挂载关系都能快速定位。
上次更新: 2026/06/25, 10:02:19