Unix檔案系統的層次結構

2021-07-04 06:46:50 字數 1559 閱讀 2522

unix檔案系統是unix系統的心臟部分,提供了層次結構的目錄和檔案。檔案系統將磁碟空間劃分為每1024個位元組一組,稱為塊(block)(也有用512位元組為一塊的,如:sco xenix)。編號從0到整個磁碟的最大塊數。

乙個磁碟分成乙個或多個分割槽,每個分割槽可以包含乙個檔案系統

乙個分割槽分為三部分:

+ 超級塊, 檔案系統中第一塊被稱為超級塊。這個塊存放檔案系統本身的結構資訊,比如每個區域的大小,未被使用的磁碟塊的資訊。

+ i節點, 超級塊的下乙個部分就是i節點表,檔案系統中的每個檔案在該表中都對應乙個i節點。i節點是固定長度的記錄項,它包含有關檔案的大部分資訊。linux檔案系統使用 索引節點i 來記錄檔案資訊,索引節點是乙個結構,用固定長度,它包含了乙個檔案的長度、建立及修改時間、許可權、所屬關係、磁碟中的位置等資訊。

+ 資料區, 檔案的內容儲存在這個區域上,磁碟上所有塊的大小都一樣,如果檔案包含了超過乙個塊的內容,則檔案內容會存放在多個磁碟塊中,並把磁碟塊的分配情況記錄在檔案的i節點中的磁碟序列表中。

仔細觀察乙個柱面組的i節點和資料塊部分,可以看到下圖所示情況

乙個檔案系統維護了乙個索引節點的陣列 即為目錄項,目錄項中的每一項包括檔案索引節點i的節點號和檔名,所以目錄只是將檔案的名稱和它的索引節點號結合在一起的一張表。

對於乙個檔案來說有唯一的索引節點與之對應,而乙個索引節點卻可以有多個檔名與之對應,因此磁碟上的同乙個檔案可以通過不同的路徑去訪問它。

在上圖中有兩個目錄項指向同一i節點。每個i節點有乙個鏈結計數器,其值是指向該i節點的目錄項數。只有當鏈結計數器減少為0時,才可刪除該檔案。這也就是為什麼解除對乙個檔案的鏈結操作並不總是意味著,釋放該檔案占用的磁碟塊的原因。而且刪除乙個目錄項的函式被稱為unlink而不是delete的原因。

每個檔案系統都對它們的i節點進行編號,因此目錄項中的i節點指向同一檔案系統的i節點,不能使乙個目錄項指向另乙個檔案系統的i節點,因此硬連線不能跨越檔案系統。

當在不更換檔案系統情況下為乙個檔案更名時,該檔案的實際內容並未移動,只需構造乙個指向現有i節點的新目錄項,並解除與舊目錄項的鏈結。這就是mv命令的通常操作方式。

介紹完檔案系統之後,下邊了解一下符號鏈結(軟鏈結)和硬鏈結的區別

可以用ln命令對乙個已經存在的檔案建立乙個新的連線,而不複製檔案的內容。連線有軟連線和硬連線之分,軟連線又叫符號連線。

符號鏈結是指向乙個檔案的間接指標,硬鏈結直接指向檔案的i節點。

硬連線                               軟連線     

硬鏈結指向檔案的i節點                它的資料是它所連線的檔案的路徑名,是指向乙個檔案的間接指標 

目錄不能有硬連線,但超級使用者可以     目錄也適用

不能跨越檔案系統                     可以跨越檔案系統

檔案在磁碟中只有乙個拷貝             也是只有乙份拷貝

索引節點的引用為0時才可以刪除檔案    可以刪除原有檔案保留連線檔案,沒有防誤刪功能  

可以防止誤刪除

Linux檔案系統層次結構

linux系統中所有檔案儲存在檔案系統中,檔案被組織到一棵目錄樹中,樹根在該層次結構的頂部,樹根的下方衍生出子目錄分支,稱為檔案系統層次結構 目錄 是根目錄,位於檔案系統層次結構的頂部,字元還用作檔名中目錄分隔符。例如,如果etc是 目錄的子目錄,就把它稱為 etc目錄 的子目錄用於標準化的用途,以...

Linux檔案系統層次結構

1 檔案系統的層次結構 linux系統中所有的檔案儲存在檔案系統中,它們被組織到乙個顛倒的目錄樹中,成為檔案系統結構。這顆樹是顛倒的,因為樹根在該層次的頂部,樹根的下方延伸出目錄和子目錄的分支。2 目錄是根目錄,位於檔案系統層次結構的頂部。字元還用作檔名中的目錄分隔符。例如,如果etc是 目錄中的子...

linux檔案系統層次結構

fhs 定義linux系統中主要的目錄以及目錄儲存的內容,多數linux發行版遵從fhs標準。linux或unix作業系統中,所有的檔案和目錄都是被組織成以根目錄為起點的乙個倒置的樹狀結構,根目錄之下可以是檔案也可以是目錄,每乙個目錄又可以包含許多子目錄檔案。etc 系統的配置檔案 mnt 臨時掛在...