UNIX硬鏈結,軟鏈結 符號鏈結 ,檔案複製

2021-07-05 15:21:30 字數 886 閱讀 4475

一.首先在區別前得搞清楚unix檔案系統的基本結構

(1).unix檔案系統:管理計算機硬體的軟體,詳情參見以下**:

(2).基本結構:即檔案系統是如何管理資料的,也就是資料結構的型別,此處所講的是inode資料結構。

(3)inode資料結構:(摘自鳥哥私房菜基礎學習篇第三版p198)

super  block(超級塊):記錄此檔案系統的整體資訊,包括inode/block的總量和使用量,剩餘量以及檔案系統的格式和相關的資訊;

block(資料塊):實際記錄檔案的內容,若檔案太大,會占用多個block。

目錄項:由於乙個i節點可能會有不同的檔名,所以維護這些檔名的陣列即為目錄項,目錄項中的每一項包括檔案索引節點i的節點號和檔名,所以目錄只是將檔案的名稱和它的i節點號結合在一起的一張表。舉例來說,i節點和資料塊好比乙個真實的人,但是這個人可能會有不同的名字(中文名,英文名,外號等等),而這些名字就是它的的目錄項,不管你的名字如何變化,我這個人是不會變的。

inode(i節點):記錄檔案的屬性,乙個檔案占用乙個乙個inode,同時記錄該檔案的資料所在的block號碼,乙個i節點至少有乙個目錄項;

希望大家可以結合apue的p91-p93理解。

二.接下來區別這三個概念

(2)符號鏈結(軟鏈結):假設a鏈結b檔案,那麼a檔案和b檔案的inode資料結構的四個部分都不同,也就是在底層無任何關係,當訪問時a檔案通過尋找自己資料塊中的記錄的路徑找到b檔案的目錄項(檔名),然後訪問b檔案的資料。可以利用下圖簡單粗暴的理解:

(3)檔案複製:假設a複製b,則a與b的inode的四部分都不同,無任何關係,只是a和b的資料塊部分的資料一模一樣。

硬鏈結與軟鏈結(符號鏈結)

我們知道檔案都有檔名與資料,這在 linux 上被分成兩個部分 使用者資料 user data 與元資料 metadata 使用者資料,即檔案資料塊 data block 資料塊是記錄檔案真實內容的地方 元資料則是檔案的附加屬性,如檔名 檔案大小 建立時間 所有者 檔案所在的inode等資訊。在 l...

Linux的硬鏈結與軟鏈結(符號鏈結)

linux的檔案鏈結方式分為硬鏈結與軟鏈結 也叫符號鏈結 兩種,在linux中鏈結也被視為檔案來看待,一樣可以被執行 編輯和訪問。對系統中的應用程式而言,對鏈結的操作就是對原始檔案的操作,所以鏈結不是副本。如果熟悉linux的檔案系統與目錄樹 相關部落格鏈結擴充套件檔案系統 檔案系統與目錄樹的關係 ...

軟鏈結 硬鏈結

硬鏈結與軟鏈結的聯絡與區別 我們知道檔案都有檔名與資料,這在 linux 上被分成兩個部分 元資料 metadata 是檔案的附加屬性,如檔案大小 建立時間 所有者等資訊。使用者資料 user data 即檔案資料塊 data block 資料塊是記錄檔案真實內容的地方 元資料則在 linux 中,...