文件系统层次标准FHS的详细介绍

  Filesystem Hierarchy Standard (文件系统层次标准,FHS)标准依据文件系统使用的频繁与否与是否允讲使用者随意更动, 而将目录定义成四种交互做用的形态,具体以下:数据库

  

  • 可分享的:能够分享给其余系统挂载使用的目录,因此包括执行文件与用户的邮件等数据, 是可以分享给网络上其余主机挂载用的目录;
  • 不可分享的:本身机器上面运做的装置档案或者是与程序有关的 socket 档案等, 因为仅与自身机器有关,因此固然就不适合分享给其余主机了。
  • 不变的:有些数据是不会常常变更的,跟随着 distribution 而不变更。 例如函式库、文件说明文件、系统管理员所管理的主机服务配置文件等等;
  • 可变更的:常常改变的数据,例如登陆文件、通常用户可自行收受的新闻组等。

  事实上,FHS针对目录树架构仅定义出三层目录下应该放置哪些数据,分别是下面三个目录:网络

  • /(根目录):与开机系统有关;
  • /usr(unix software resource):与软件安装执行有关;
  • /var(variable):与系统运做过程有关。

  下面分别对上述三层目录进行详细的阐述。架构

  (1) /(根目录)socket

  根目录是整个系统最重要的一个目录,由于不但全部的目录都是由根目录衍生出来的,同时根目录也与开机/还原/系统修复等动做有关。因为系统开机时须要特定的开机软件、核心档案、开机所需程序、函式库等等档案数据,若系统出现错误时,根目录也必需要包含有可以修复文件系统的程序才行。由于根目录是如此重要,因此在FHS的要求方面,但愿根目录不要放在很是大的分割槽中,由于越大的分割槽会放入越多的数据,如此一来根目录所在分割槽就可能会有较多发生错误的机会。ide

  所以一般状况下,根目录所在分割槽应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分割槽中,保持根目录越小越好。如此不但性能较佳,同时根目录所在的文件系统也较不容易放生错误。下表为FHS所定义的根目录下应该要有的次目录的介绍:性能

  除此以外,Linux下还有几个其余的目录也须要了解一下,以下表:3d

    

  在Linux中,由于根目录与开机有关,开机过程当中仅有根目录会被挂载,其余分割槽则是在开机完成以后才会持续的进行挂载行为。所以,根目录下与开机过程有关的目录就不可以与根目录放到不一样的分割槽中。下面这五个目录则是与开机密不可分而不能与根目录分开的目录。unix

  • /etc:配置文件
  • /bin:重要执行档。与通常用户及单人模式下操做有关的指令。
  • /dev:装置和接口配置相关的档案
  • /lib:执行档所须要的函式库与核心所需的模块
  • /sbin:与系统管理员操做有关的指令

  (2) /usrblog

  根据FHS的定义,/usr里面放置的数据属于可分享的但不可变更的数据。相似于Windows系统的C:\Windows与C:\Program Files这两个目录的综合体。建议全部软件开发者将他们饿数据合理的分别放置在这个目录下的次目录中,而不是自行创建该软件本身独立的目录。接口

  (3) /var

  /var目录主要针对常态性变更的档案,包括快取(cache)、登录档(log file)、以及某些软件运做所产生的档案,包括程序档案(lock file, run file),或者例如MySQL数据库的档案等等。常见的次目录有:

  综上即为FHS标准,接下来,咱们将整个目录树以图标的方法来显示,而且将较为重要的档案数据列出来。

相关文章
相关标签/搜索