3.1. 背景

本章主要基于 文件系统层次标准 (FHS) 2.1 版本,该标准试图为 Linux 系统中目录树的组织方式设定一个标准。这样的标准具有以下优势:编写或移植 Linux 软件以及管理 Linux 机器将变得更容易,因为一切都应位于标准化的位置。该标准背后没有任何强制任何人遵守的权威机构,但它已获得许多 Linux 发行版的支持。在没有非常令人信服的理由的情况下,打破 FHS 并不是一个好主意。FHS 试图遵循 Unix 传统和当前趋势,使 Linux 系统对于那些有其他 Unix 系统经验的人来说是熟悉的,反之亦然。

本章不如 FHS 详细。系统管理员还应阅读完整的 FHS 以获得全面的理解。

本章不详细解释所有文件。目的不是描述每个文件,而是从文件系统的角度概述系统。有关每个文件的更多信息,请参阅本手册的其他部分或 Linux 手册页。

完整的目录树旨在分解为更小的部分,每个部分都能够位于自己的磁盘或分区上,以适应磁盘大小限制并简化备份和其他系统管理任务。主要部分是根目录 (/ ), /usr , /var/home文件系统(参见 图 3-1)。每个部分都有不同的用途。目录树的设计使其可以在 Linux 机器网络中良好地工作,这些机器可以通过只读设备(例如,CD-ROM)或通过 NFS 在网络上共享文件系统的某些部分。

图 3-1. Unix 目录树的组成部分。虚线表示分区边界。

目录树不同部分的角色在下面描述。

/var之下添加一个额外的命名级别,例如/usr/home/staff尽管上面将不同的部分称为文件系统,但实际上没有要求它们必须位于单独的文件系统上。如果系统是一个小型单用户系统,并且用户希望保持简单,则可以将它们轻松地保存在一个文件系统中。目录树也可能以不同的方式划分为文件系统,具体取决于磁盘的大小以及为各种目的分配的空间。然而,重要的是所有标准名称都能工作;即使比如说,之下添加一个额外的命名级别,例如实际上位于同一分区上,名称/usr/lib/libc.a/var/var/log/messages也必须工作,例如通过将下面的文件移动到/var/usr/var也必须工作,例如通过将.

,并将