《文件系统层级标准》是 Linux 基金会对 Linux 及其他类 Unix 系统中目录的组织方式给出的一种建议。如果应用软件的安装和运行遵循该标准,用户和系统管理员就可以方便地定位软件包和配置文件。
截至本文写作时该标准的最新版本为3.0。
/bin
:必要的可执行文件
- 所有用户都可以访问
- 该目录没有子目录
/opt
:附加的应用软件包
/opt/bin
,/opt/doc
,/opt/include
,/opt/info
,/opt/lib
和/opt/man
仅供系统管理员使用- 普通用户可以调用的二进制文件应当置于
/opt/<package>/bin
或/opt/<provider>/<package>/bin
目录- 正常使用过程中会发生变化的文件应当存储在
/var/opt
目录下 - 特定系统的配置应当放在
/etc/opt
目录下或使用符号连接
- 正常使用过程中会发生变化的文件应当存储在
/var
:运行时不断变化的数据
- 日志、邮件等
/var/log
存放日志文件,为了防止日志占满根分区,生产环境中一般是单独分区
/etc
:特定主机的系统配置
- 不应该存放二进制文件
- 可以包含可执行脚本
- 配置文件应当存放在子目录中
/etc/opt
存放/opt
的配置文件
Home 目录
/home
用户的 Home 目录/root
root 用户的 Home 目录- 应用程序不应该假定 Home 目录中存在的任何目录和文件,因为 Home 目录的结构是完全自定义的
- 应用程序的用户配置应保存在 Home 目录下,文件名以
.
开头,如果存在多个配置文件,创建一个.
开头的子目录- 未经用户允许,应用不应在 Home 创建其他格式的文件或目录
/tmp
:临时文件
- 供应用程序放置临时文件
- 调用结束后不应该假定临时文件能被保留
/usr
:Unix Software Resource
- 本地安装软件时使用
/usr/local
层次结构。当系统软件更新时,需要确保它不会被覆盖。它可以用于在一组主机之间共享但在/usr
中找不到的程序和数据 /usr/share
存储不需要修改的数据,可以供不同架构的系统挂载访问
其他目录
/media
挂载可移动媒体介质如 CD、DVD/mnt
临时挂载文件系统,如移动硬盘/lib
必要的共享库和内核模块/boot
boot loader 相关的文件/sbin
用于系统管理的实用程序以及其他仅限 root 使用的命令/run
运行时变量,普通用户应该没有写权限/dev
设备文件