linux目录结构遵循FHS标准,按“谁用、谁管、谁改”划分:/bin和/sbin存启动必备命令(普通用户与管理员区分),/usr存放只读软件资源,/var管理可写运行数据,/etc为全局配置中心,/home和/root分属普通用户与root家目录,/tmp、/run、/proc、/sys分别承载临时文件、运行时状态及内核虚拟视图。

Linux目录结构不是随便设计的,它遵循FHS(Filesystem Hierarchy Standard)标准,每个目录有明确职责。理解它不靠死记,而靠抓住“谁用、谁管、谁改”这三条线——系统管理、软件安装、用户操作三类行为自然对应不同路径,效率就从这里来。
/bin 和 /sbin:系统能跑起来的最小工具集
这两个目录放的是系统启动和基础维护必须的命令。/bin 是普通用户也能用的通用命令(如 ls、cp、bash),/sbin 则是管理员专用的系统管理命令(如 ifconfig、fdisk、reboot)。它们通常不包含脚本或大型程序,而是精简、静态链接的二进制文件,确保在磁盘损坏或依赖缺失时仍能救急。
- 别往 /bin 或 /sbin 里手动丢程序——用包管理器安装,它会自动放到合适位置
- 查看哪些命令属于这里:which ls 一般返回 /bin/ls;which systemctl 可能是 /usr/bin/systemctl(说明已迁移到 /usr 下)
- 现代发行版(如 Fedora、debian 12+)倾向将 /bin → /usr/bin 软链接,/sbin → /usr/sbin 同理,实际内容统一归到 /usr —— 这叫 “usr merge”,不用慌,兼容性已处理好
/usr 和 /var:软件安家与数据呼吸的两个节奏
/usr 是“只读”的软件世界:所有非核心但常用的程序、库、文档、配置模板都放这儿(如 /usr/bin、/usr/lib、/usr/share)。它不存运行时数据,适合挂载为只读分区提升安全性。/var 则相反,是“可写”的数据呼吸区:日志(/var/log)、缓存(/var/cache)、邮件队列(/var/spool)、数据库文件(/var/lib/mysql)全在这里动态变化。
- 装软件时注意路径:./configure –prefix=/usr 是默认;想本地编译不扰系统?用 –prefix=$HOME/local
- 清理磁盘先看 /var/log/journal(systemd 日志)和 /var/cache/apt/archives(Debian系安装包缓存)
- 若 /var 占满导致系统异常,别删 /var/run 或 /var/lock(它们是内存文件系统 tmpfs,重启即清),重点查 /var/log 和 /var/lib
/etc、/home、/root:配置、归属与权限的三角锚点
/etc 是全局配置中心,所有服务的主配置文件都在这(如 /etc/nginx/nginx.conf、/etc/fstab)。/home 是普通用户的私人空间,每人一个子目录,存放个人设置、文档、下载等。/root 是 root 用户的家目录,和 /home 分开,既安全又避免权限混淆。
- /etc 下不要直接改原始配置文件,先复制备份:sudo cp /etc/default/grub{,.bak}
- 用户配置常“藏”在 /home/xxx/.config/ 或 /home/xxx/.local/share/ —— 那些带点开头的隐藏目录就是个性化落脚点
- 新建用户时,useradd -m 会自动创建 /home/xxx;不加 -m 就只有 shell,没家目录,容易登录失败
/tmp、/run、/proc、/sys:临时、状态与内核的实时投影
/tmp 是所有人可用的临时文件区,重启后清空(部分系统设为 tmpfs 内存盘);/run 存运行时状态(如 PID 文件、socket 文件),也是内存文件系统,生命周期=本次启动;/proc 和 /sys 不是真实目录,而是内核用文件接口暴露进程与硬件信息的“虚拟视图”——读它们等于调用内核 API。
- 脚本中临时文件优先用 mktemp 创建,别硬写 /tmp/myfile.txt(易冲突或被清理)
- 查某进程打开的文件:ls /proc/1234/fd/;看 CPU 信息:cat /proc/cpuinfo;改内核参数:echo 1 > /proc/sys/net/ipv4/ip_forward
- /sys/class/net/ 下能看到所有网卡,/sys/block/ 对应磁盘设备——比 lsblk 更底层,适合写自动化检测脚本
基本上就这些。真正用熟不是背路径,而是每次 cd、ls、find 时多问一句:“这个东西是系统要用的?软件自带的?我产生的?还是正在跑的状态?” 问多了,目录感就出来了。不复杂但容易忽略。