Linux 目录结构

文件系统层次结构标准(Filesystem Hierarchy Standard,FHS)定义了 Linux 操作系统中的主要目录及目录内容。FHS 由 Linux 基金会维护,当前版本为 3.0 版,于 2015 年发布。

/

第一层次结构 的根、 整个文件系统层次结构的根目录。

/bin/

需要在单用户模式可用的必要命令(可执行文件);面向所有用户,例如: cat、 ls、 cp。

/boot/

引导程序文件,例如: kernel、initrd;时常是一个单独的分区[8]

/dev/

必要设备, 例如:/dev/null.

/etc/

特定主机,系统范围内的配置文件。

关于这个名称目前有争议。在贝尔实验室关于UNIX实现文档的早期版本中,/etc 被称为etcetera, [9] 这是由于过去此目录中存放所有不属于别处的所有东西(然而,FHS限制/etc只能存放静态配置文件,不能包含二进制文件)。 自从早期文档出版以来,目录名称已被以各种方式重新称呼。最近的解释包括逆向首字母缩略词如:“可编辑的文本配置”(英文 “Editable Text Configuration”)或"扩展工具箱"(英文 “Extended Tool Chest”)。

/etc/opt/

/opt/的配置文件

/etc/X11/

X窗口系统(版本11)的配置文件

/etc/sgml/

SGML的配置文件

/etc/xml/

XML的配置文件

/home/

用户的家目录,包含保存的文件、个人设置等,一般为单独的分区。

/lib/

/bin/ 和 /sbin/中二进制文件必要的库文件。

/media/

可移除媒体(如CD-ROM)的挂载点 (在FHS-2.3中出现)。

/mnt/

临时挂载的文件系统。

/opt/

可选应用软件 包。[12]

/proc/

虚拟文件系统,将内核与进程状态归档为文本文件。例如:uptime、 network。在Linux中,对应Procfs格式挂载。

/root/

超级用户的家目录

/sbin/

必要的系统二进制文件,例如: init、 ip、 mount。

/srv/

站点的具体数据,由系统提供。

/tmp/

临时文件(参见 /var/tmp),在系统重启时目录中文件不会被保留。

/usr/

用于存储只读用户数据的第二层次; 包含绝大多数的(多)用户工具和应用程序[13]。

/usr/bin/

非必要可执行文件 (在单用户模式中不需要);面向所有用户。

/usr/include/

标准包含文件。

/usr/lib/

/usr/bin/和/usr/sbin/中二进制文件的库。

/usr/sbin/

非必要的系统二进制文件,例如:大量网络服务的守护进程。

/usr/share/

体系结构无关(共享)数据。

/usr/src/

源代码,例如:内核源代码及其头文件。

/usr/X11R6/

X窗口系统 版本 11, Release 6.

/usr/local/

本地数据的第三层次, 具体到本台主机。通常而言有进一步的子目录, 例如:bin/、lib/、share/.

/var/

变量文件——在正常运行的系统中其内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。有时是一个单独的分区。

/var/cache/

应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结果。应用程序必须能够再生或恢复数据。缓存的文件可以被删除而不导致数据丢失。

/var/lib/

状态信息。 由程序在运行时维护的持久性数据。 例如:数据库、包装的系统元数据等。

/var/lock/

锁文件,一类跟踪当前使用中资源的文件。

/var/log/

日志文件,包含大量日志文件,为了防止日志占满根分区,生产环境中一般是单独分区。

/var/mail/

用户的电子邮箱。

/var/run/

自最后一次启动以来运行中的系统的信息,例如:当前登录的用户和运行中的守护进程、一些守护进程的pid文件、socket文件。现已经被/run代替[15]。

/var/spool/

等待处理的任务的脱机文件,例如:打印队列和未读的邮件。

/var/spool/mail/

用户的邮箱(不鼓励的存储位置)

/var/tmp/

在系统重启过程中可以保留的临时文件。

/run/

代替/var/run目录。

参考文献

https://zh.wikipedia.org/wiki/文件系统层次结构标准