文件系統層次標準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標準,接下來,咱們將整個目錄樹以圖標的方法來顯示,而且將較爲重要的檔案數據列出來。

相關文章
相關標籤/搜索