Linux 文件系統


Linux文件系統目錄結構介紹

Linux文件系統目錄結構 (英文名: Linux File System Directory Structure):

要所文件系統目錄結構我們就要先知道什么是文件系統,文件系統是操作系統用於明確存儲設備(常見的是磁
盤,也有基於 NAND Flash的固態硬盤)或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操作系統中負責管理和存儲文件信息的軟件機構稱為文件管理系統,簡稱文件系統。
Linux文件系統目錄結構其實就是定義 Linux文件系統存放目錄和文件的方式。 Linux文件系統遵從FHS
什么是FHS?
FHS即是 Filesystem Hierarchy Standard(文件系統層次結構標准)的縮寫。它定義了兩層規范
第一層:/下面的各個目錄應該要放什么文件數據;
第二層:針對/usr及/ar這兩個目錄的子目錄來定義。
FHS特點:FHS只定義出最上層(/)及子層(/usr,/var)目錄內容應該要放置的文件數據,因此,在其他子目錄層級內,可以隨開發人員自行配置。

FHS目錄定義圖例

FHS是根據過去的經驗一直再持續的改版的,FHS依據文件系統使用的頻繁與是否允許使用者隨意變動,而將目錄定義成為四種交互作用的形態,用表格來說有點像底下這樣:

FHS交互作用形態定義

FHS目錄定義的四種交互作用的形態定義
1、可共享的

    可以共享給其他系統掛載使用的目錄,所以包括執行文件與用戶的郵件等數據,是能夠分享給網絡上其他主機
    掛載用的目錄;

2、不可共享的

    本地計算機上面運行的設備文件或者是與程序有關的socket文件等,由於僅與自身機器有關,所以不能共享給
    其他計算機。

3、不可變動的

    有些數據是不會經常變動的,跟隨着文件 distribution而不變動。例如函式庫、文件說明文件、系統管理員所
    管理的主機服務配置文件等等。

4、可變動的

    經常改變的數據,例如登錄文件、一般用戶可自行收受的新聞組等。

FHS目錄樹架構定義

FHS針對目錄樹架構定義出以下三層目錄:

  • /(robt,根目錄):與開機系統有關;

  • /usr(unix software resource):與軟件安裝/執行有關;

  • /var(variable):與系統運行過程有關。Linux文件系統目錄結構

根目錄(/)的意義

  • 根目錄是整個系統最重要的一個目錄,因為不但所有的目錄都是由根目錄衍生出來的,同時根目錄也與開機/還原/系統修復等動作有關。

  • 由於系統開機時需要特定的開機軟件、核心文件、開機所需程序、函式庫等等文件數據,所以當系統出現錯誤時,根目錄也必須要包含有能夠修復文件系統的程序才行。由於根目錄重要性,FHS建議根目錄不要放在非常大的分區內,因為分區越大可能存儲的文件就越多,如此一來可能會提高發生錯誤的概率。

  • FHS標准建議:根目錄(/)所在分區應該越小越好,且應用程序所安裝的軟件最好不要與根目錄放在同一個分區。

  • 按照FHS標准執行,不但可以提高計算機的效能,而且也可以減少問題的產生。

根目錄(/)包含的內容

FHS針對根目錄所定義的標准就僅限於上表,不過仍舊有些目錄也需要我們了解

除了這些目錄的內容之外,另外要注意的是:因為根目錄與開機有關,開機過程中僅有根目錄會被掛載,其他分區則是在開機完成之后才會持續的進行掛載的行為。所以我們要了解那哪些目錄不可與根目錄分開:

  • /etc:配置文件

  • /bin:重要執行檔

  • /dev:所需要的裝置文件

  • /lib:執行檔所需的函式庫與核心所需的模塊

  • /sbin:重要的系統執行文件

/usr目錄的意義與內容

usr是 Unix Software Resource的縮寫,這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似於 windows下的 program files目錄。FHS建議所有軟件開發者,應該將他們的數據合理的分別放置到這個目錄下的次目錄中,/usr/下包含一下目錄:

/var目錄的意義與內容

如果/usr是安裝時會占用較大硬盤容量的目錄,那么/var就是在系統運作后才會漸漸占用硬盤容量的目錄。因為/var目錄主要針對常態性變動的文件,包括緩存(cache)、登錄檔(log file)以及某些軟件運作所產生的文件,包括程序文件(lock file, run file),或者例如 MySQL數據庫的文件等等。常見的次目錄有:

目錄樹和路徑

目錄樹 (英文名: Directory tree)
在 Linux中,所有的文件與目錄都是由根目錄開始的。那是所有目錄與文件的源頭,然后再一個一個的分支下來,因此,我們也稱這種目錄配置方式為:目錄樹( directory tree),這個目錄樹的主要特性有

  • 目錄樹的啟始點為根目錄(/,root);

  • 每一個目錄不止能使用本地端的 partition的文件系統,也可以使用網絡上的 filesystem;

  • 每一個文件在此目錄樹中的文件名(包含完整路徑)都是獨一無二的。

絕對路徑 (英文名:發)
絕對路徑是指目錄下的絕對位置,直接到達目標位置,通常是從盤符開始的路徑
在 Linux中以“/ "開始的路徑
相對路徑 (英文名:甲方)
相對路徑就是指由這個文件所在的路徑引起的跟其它文件(或文件夾)的路徑關系
在 Linux中以 “./ ” 或 “../ ” 開始的路徑

符號 說明
./ 表示當前目錄
../ 表示上一層父目錄
~用戶名 表示指定用戶的主目錄作為起點

更多參考

https://www.runoob.com/linux/linux-system-contents.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM