Linux相关__Linux目录配置标准FHS

    目录配置标准? 虾米意思?

        大多数Window用户对目录的概念就是C、D、E、F盘和树形目录,他们(也许是你们)对于文件目录管理有着个性的想法,甚至毫不关心。比如,读者们的JVM程序放在什么地方。相信答案会千奇百怪。


        那么,这样的做法有什么问题没有?应该说是没什么大问题的。因为WIndow是单用户OS,也就是说它是“个人的”,外人很少接触,因此,也就不用关系你 的配置习惯,你可以随意配置。然而,Linux则不同。Linux是多用户OS,也就是说有可能你们公司的所有人用的是同一个操作系统,你能想象当你们公 司团队一起做项目时,你要不时的去问你的伙伴:“嘿,那个什么什么你放到哪了?”。或者,你进入一个新的公司时,Linux配置方法竟然跟你一起学的不一 样!所以,就有了FHS(FileileSystem  Hierarchy  Statand)标准的出炉。


       根据FHS官方(可查找http://www.pathname.com/fhs/)指出,其主要目的是希望让用户了解到已安装文件放置在哪里,并且,这 种规则独立于软件开发商、操作系统制作团队以及操作系统用户。简单的说,就是要规范每个特定的目录放置什么样的数据。FHS是被建议每个公司或个人遵守的准则。



       FHS将目录按可变性分为不变的(static)和可变的(varabale),按安全性分为可分享的(shareable)和不可分享的(unshareable)。简单说明见下:

       ___________________________________________________________________________

                                             |        可分享的                              |                       不可分享的

       ___________________________________________________________________________

                                             |         /usr(软件放置处)                  |            /etc(配置文件)

              不变的                     |__________________________________________________________

                                             |        /opt(第三方软件)               |            /boot(开机与内核文件)

       ___________________________________________________________________________

                                             |       /var/amail(用户邮件信箱)        |            /var/run(程序相关)

              可变的                     |___________________________________________________________

                                             |   /var/spoola/news(新闻组)            |           /var/lock(程序相关)

       ___________________________________________________________________________



    *   可分享的:可以分享给其他系统挂载的目录,所以包括执行文件与用户邮件。该目录中的东西能够被网络中的其他主机挂载使用

    * 不可分享的:自己机器上面的设备文件或者是与程序相关的socket文件等,仅与自身机器有关。

    * 不变的:某些数据不会经常跟随disteibution而改变。如文件说明文件、C函数库、shell等等。

   *   可变动的:顾名思义。经常会改变的,如登录文件、新闻等等。



     下面是FHS定义出的根目录(/)下面应该有的子目录

1 /bin :专业人士(当然也包括像我一样的伪专业人士)都应该知道 bin 指的是二进制文件,即普通用户最为关心的可执行文件。事实也确实如此, /bin 目录下放的便是可执行文件。但是, /bin 目录下的可执行文件比较特殊,仅仅是单人维护模式下还能被执行的文件,如 cat mkdir chmod 等等命令。简单的说,也就是能够被 shell 所用到的执行命令。非原本的 distribution 提供的文件建议不要放在该目录下。


2 /boot :与开机启动相关的系统目录。包括了 Linux 内核 Kernel—— 通常名为 vmlinuz-x.x.x.xx-generic 。同时,该目录下还包括开机引导程序 grub/


3 /dev :在 Linux 中,有一个很重要的规则—— everything is file Linux 对所有的东西一视同仁,那么,硬件设备在 Linux 开来也是文件。如, /dev/bus/ 是总线目录,常用到的 USB 端口便在该目录之下,删除了该目录, USB 接口便没有作用了。再比如 /dev/ppp 文件指的是 Linux 系统中的网络接口。


4 /etc :放置系统的主要配置文件,比如权限、系统参数等等。该目录中的文件可以被所有人查看,但只有 root 用户拥有修改权限。


5 /home :系统默认的用户目录( home directory )。目录下方会为每一个注册用户分配一个目录。


6 /lib :放置与开机相关的函数库(但不是所有的函数库都在此,比如下载的 JDK )。其中,有一个很重要的目录 ----/lib/modules/ ,放置的是开机驱动程序。


7 /media :媒体目录,其下放置的是可移除装置,如光驱,软盘驱动等等。


8 /mnt :作用被 /media 取代,不是很重要。


9 /opt :这个是给第三方协力软件放置的目彔。 通常, distribution 中会有很多“搭载”程序,如 KDE Gnome 桌面环境系统。


10 /root :同 /home ,系统管理员 (root) 的家目录。之所以放在这里 , 是因为如果进入单人维护模式而仅挂 载根目录时 , 该目录就能够拥有 root 的家目录 , 所以我们会希服 root 的家目录和根目录放置在同一个分割槽中。


11 /sbin :放在 /sbin 底下的为开机过程中所需要的指令 , 里面包括了开机、修复、还原系统所需要的指令。


12 /srv :放置的是与网络相关的文件,如 WWW FTP 等。


13 /tmp :缓存文件放置目录。需要定时清理。




下面还有一个 Linux 用户经常访问的重要目录: /usr

/usr Unix Software Resource 的缩写,即 Uinx 软件资源。我们通过软件中心下载的软件都放在这里。


如笔者的 eclipse 执行文件路径是 /usr/bin/eclipse


/usr 目录下会有许多的次级目录,如 /usr//lib 放置函数库(是否与开机相关?),又比如 /usr/bin

    目录配置标准? 虾米意思?

        大多数Window用户对目录的概念就是C、D、E、F盘和树形目录,他们(也许是你们)对于文件目录管理有着个性的想法,甚至毫不关心。比如,读者们的JVM程序放在什么地方。相信答案会千奇百怪。


        那么,这样的做法有什么问题没有?应该说是没什么大问题的。因为WIndow是单用户OS,也就是说它是“个人的”,外人很少接触,因此,也就不用关系你 的配置习惯,你可以随意配置。然而,Linux则不同。Linux是多用户OS,也就是说有可能你们公司的所有人用的是同一个操作系统,你能想象当你们公 司团队一起做项目时,你要不时的去问你的伙伴:“嘿,那个什么什么你放到哪了?”。或者,你进入一个新的公司时,Linux配置方法竟然跟你一起学的不一 样!所以,就有了FHS(FileileSystem  Hierarchy  Statand)标准的出炉。


       根据FHS官方(可查找http://www.pathname.com/fhs/)指出,其主要目的是希望让用户了解到已安装文件放置在哪里,并且,这 种规则独立于软件开发商、操作系统制作团队以及操作系统用户。简单的说,就是要规范每个特定的目录放置什么样的数据。FHS是被建议每个公司或个人遵守的准则。



       FHS将目录按可变性分为不变的(static)和可变的(varabale),按安全性分为可分享的(shareable)和不可分享的(unshareable)。简单说明见下:

       ___________________________________________________________________________

                                             |        可分享的                              |                       不可分享的

       ___________________________________________________________________________

                                             |         /usr(软件放置处)                  |            /etc(配置文件)

              不变的                     |__________________________________________________________

                                             |        /opt(第三方软件)               |            /boot(开机与内核文件)

       ___________________________________________________________________________

                                             |       /var/amail(用户邮件信箱)        |            /var/run(程序相关)

              可变的                     |___________________________________________________________

                                             |   /var/spoola/news(新闻组)            |           /var/lock(程序相关)

       ___________________________________________________________________________



    *   可分享的:可以分享给其他系统挂载的目录,所以包括执行文件与用户邮件。该目录中的东西能够被网络中的其他主机挂载使用

    * 不可分享的:自己机器上面的设备文件或者是与程序相关的socket文件等,仅与自身机器有关。

    * 不变的:某些数据不会经常跟随disteibution而改变。如文件说明文件、C函数库、shell等等。

   *   可变动的:顾名思义。经常会改变的,如登录文件、新闻等等。



     下面是FHS定义出的根目录(/)下面应该有的子目录

1 /bin :专业人士(当然也包括像我一样的伪专业人士)都应该知道 bin 指的是二进制文件,即普通用户最为关心的可执行文件。事实也确实如此, /bin 目录下放的便是可执行文件。但是, /bin 目录下的可执行文件比较特殊,仅仅是单人维护模式下还能被执行的文件,如 cat mkdir chmod 等等命令。简单的说,也就是能够被 shell 所用到的执行命令。非原本的 distribution 提供的文件建议不要放在该目录下。


2 /boot :与开机启动相关的系统目录。包括了 Linux 内核 Kernel—— 通常名为 vmlinuz-x.x.x.xx-generic 。同时,该目录下还包括开机引导程序 grub/


3 /dev :在 Linux 中,有一个很重要的规则—— everything is file Linux 对所有的东西一视同仁,那么,硬件设备在 Linux 开来也是文件。如, /dev/bus/ 是总线目录,常用到的 USB 端口便在该目录之下,删除了该目录, USB 接口便没有作用了。再比如 /dev/ppp 文件指的是 Linux 系统中的网络接口。


4 /etc :放置系统的主要配置文件,比如权限、系统参数等等。该目录中的文件可以被所有人查看,但只有 root 用户拥有修改权限。


5 /home :系统默认的用户目录( home directory )。目录下方会为每一个注册用户分配一个目录。


6 /lib :放置与开机相关的函数库(但不是所有的函数库都在此,比如下载的 JDK )。其中,有一个很重要的目录 ----/lib/modules/ ,放置的是开机驱动程序。


7 /media :媒体目录,其下放置的是可移除装置,如光驱,软盘驱动等等。


8 /mnt :作用被 /media 取代,不是很重要。


9 /opt :这个是给第三方协力软件放置的目彔。 通常, distribution 中会有很多“搭载”程序,如 KDE Gnome 桌面环境系统。


10 /root :同 /home ,系统管理员 (root) 的家目录。之所以放在这里 , 是因为如果进入单人维护模式而仅挂 载根目录时 , 该目录就能够拥有 root 的家目录 , 所以我们会希服 root 的家目录和根目录放置在同一个分割槽中。


11 /sbin :放在 /sbin 底下的为开机过程中所需要的指令 , 里面包括了开机、修复、还原系统所需要的指令。


12 /srv :放置的是与网络相关的文件,如 WWW FTP 等。


13 /tmp :缓存文件放置目录。需要定时清理。




下面还有一个 Linux 用户经常访问的重要目录: /usr

/usr Unix Software Resource 的缩写,即 Uinx 软件资源。我们通过软件中心下载的软件都放在这里。


如笔者的 eclipse 执行文件路径是 /usr/bin/eclipse


/usr 目录下会有许多的次级目录,如 /usr//lib 放置函数库(是否与开机相关?),又比如 /usr/bin

猜你喜欢

转载自263796001-qq-com.iteye.com/blog/1393522