Linux 系统目录结构

FHS 标准下每个目录该放什么,以及为什么不能乱放。

Beginner
Key Points配置在 /etc,日志与可变数据在 /var,程序在 /usr,第三方软件在 /opt,临时文件在 /tmp。

顶层目录

PathContentNote
/Root of everythingNot the same as /root
/etcSystem-wide config filesText files, version them
/varLogs, spool, databases, cachesGrows without bound
/usrInstalled programs and libraries/usr/bin, /usr/lib
/homeUser home directories/root is root's home
/tmpTemporary filesCleared on reboot (often)
/optThird-party add-on softwareSelf-contained bundles
/proc, /sysKernel and process info (virtual)Not on disk
/devDevice files/dev/null, /dev/sda

看目录

Bash
ls -l /
ls -lh /var/log | head
du -sh /var/* 2>/dev/null | sort -h | tail -5

几个容易混的

  • /bin 与 /usr/bin — 现代发行版里 /bin 是指向 /usr/bin 的符号链接
  • /sbin — 管理员命令,普通用户通常不在 PATH 里
  • /lib 与 /lib64 — 共享库,同理多为链接
  • /mnt 与 /media — 手动挂载用 /mnt,可移动设备用 /media
Do not drop your own files into /usr/bin or /etc. Use /opt/app, /etc/app/ for config and /var/lib/app/ for data so system upgrades do not clobber them.

Friends & Partners