该标准的目的是定义Linux文件系统的标准路径,使得开发者和用户可以在合理的位置找到需要的东西。
Linux的文件布局的大体想法是将文件和目录分为如下3组:
对运行Linux的某一特定系统唯一的文件和目录,例如启动脚本和配置文件。
可以在运行Linux的不同系统之间共享的只读文件和目录,如可执行应用程序。
可以在运行Linux或其他操作系统的不同系统之间共享的可读可写的目录,如用户家目录。
FHS定义的顶级结构包含一些必须存在的子目录和一小部分可选的目录。
/bin:包含可以被root用户和普通标准用户使用的二进制文件,它们都可以在单用户模式下运行,即在其他一些目录结构还未装载的情况下也能单独运行。例如,核心命令如cat和ls都可以在这里找到,当然也包括命令sh。
/boot:这个目录下放置的是启动Linux系统时所需要使用的文件。这些文件通常都比较小,文件长度不超过100MB。
/dev:这个目录下放置的是映射到硬件的特殊设备文件。例如/dev/hda将映射到第一个IDE磁盘。
/home:非必需。用于放置用户文件的目录。正常情况下每个用户都会在这个目录下有一个于他们的登录名相同的子目录,而这个子目录就是他们的默认登录目录。
/etc:这个目录下放置的是配置文件。在/etc目录下最有名的文件可能就是passwd文件,它包含系统中用户的信息。其他有用的文件有 fstab(列出分区装载选项)、hosts(列出IP地址和主机名的映射关系)、httpd目录(包含Apache服务器的配置文件)。
/lib:这个目录下放置的是基本的共享函数库和内核模块,特别是哪些在系统启动或系统位于单用户模式下需要用到的文件。
/media:这个顶级目录用于包含装载可移动媒体的其他子目录。其目的是消除不必要的顶级目录,如/cdrom和/floppy。
/mnt:这个目录只是用来方便用户临时装载一些其他的文件系统。
/opt:软件厂商在向系统中添加软件时会用到这个目录。这个目录主要开放给第三方厂商使用。
/root:非必需。这个目录下放置的是root用户使用的文件。
/sbin:这个目录下放置的是通常只能由系统管理员使用的命令,以及在系统启动时或进入单用户模式时需要使用的命令。命令fsck、halt和swapon等就在这个目录中。
/srv:这个目录放置站点特定的只读配置文件,目前还未被普遍使用。
/tmp:这个目录下放置的临时文件。系统通常会(但不总是)在启动时清理这个目录。
/usr:这是一个相当复杂的二级文件系统,在这个目录下,通常将包含除在系统启动时获进入单用户模式所需要的文件以外的所有系统类的命令和函数库。它包含许多子目录,如/bin、/lib、/X11R6、/local。
/var:这个目录下放置的数据是会经常改变的,如用于打印的队列文件、应用程序的日志文件和邮件队列目录等。