Linux 系统目录结构
FHS 标准下每个目录该放什么,以及为什么不能乱放。
Key Points配置在 /etc,日志与可变数据在 /var,程序在 /usr,第三方软件在 /opt,临时文件在 /tmp。
顶层目录
| Path | Content | Note |
|---|---|---|
/ | Root of everything | Not the same as /root |
/etc | System-wide config files | Text files, version them |
/var | Logs, spool, databases, caches | Grows without bound |
/usr | Installed programs and libraries | /usr/bin, /usr/lib |
/home | User home directories | /root is root's home |
/tmp | Temporary files | Cleared on reboot (often) |
/opt | Third-party add-on software | Self-contained bundles |
/proc, /sys | Kernel and process info (virtual) | Not on disk |
/dev | Device 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.顶层目录
| 目录 | 内容 | 说明 |
|---|---|---|
/ | 根 | 不是 /root |
/etc | 全系统配置 | 文本文件,可版本管理 |
/var | 日志、队列、数据库、缓存 | 会无限增长 |
/usr | 已安装的程序与库 | /usr/bin、/usr/lib |
/home | 用户主目录 | /root 是 root 的家 |
/tmp | 临时文件 | 重启常被清空 |
/opt | 第三方附加软件 | 自包含的软件包 |
/proc、/sys | 内核与进程信息(虚拟) | 不占磁盘 |
/dev | 设备文件 | /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
自己写的东西不要扔进
/usr/bin 或 /etc。放在 /opt/app 或 /srv,配置放 /etc/app/,数据放 /var/lib/app/——升级系统时才不会互相覆盖。