軟鏈結與硬鏈結

2021-09-24 11:26:00 字數 1537 閱讀 7084

檔案都有檔名與資料,這在 linux 上被分成兩個部分:使用者資料 (user data) 與元資料

(metadata)。使用者資料,即檔案資料塊 (data block),資料塊是記錄檔案真實內容的地方;而元資料則是檔案的附加屬性,如檔案大小、建立時間、所有者等資訊。在 linux 中,元資料中的inode 號(inode 是檔案元資料的一部分但其並不包含檔名,inode 號即索引節點號)才是檔案的唯一標識而非檔名。檔名僅是為了方便人們的記憶和使用,系統或程式通過 inode 號尋找正確的檔案資料塊。下圖展示了程式通過檔名獲取檔案內容的過程。

若乙個 inode 號對應多個檔名,則稱這些檔案為硬鏈結。換言之,硬鏈結就是同乙個檔案使用了多個別名(見 圖 2.hard link 就是 file 的乙個別名,他們有共同的 inode)。硬鏈結可由命令 link 或 ln 建立。

檔案有相同的 inode 及 data block;

只能對已存在的檔案進行建立;

不能交叉檔案系統進行硬鏈結的建立;不可跨檔案系統

不能對目錄進行建立,只可對檔案建立;

刪除乙個硬鏈結檔案並不影響其他有相同 inode 號的檔案。

若檔案使用者資料塊中存放的內容是另一檔案的路徑名的指向,則該檔案就是軟連線。軟鏈結就是乙個普通檔案,只是資料塊內容有點特殊,它的資料塊內容是另一檔案的路徑名的指向。軟鏈結有著自己的 inode 號以及使用者資料塊(見 圖 2.)。因此軟鏈結的建立與使用沒有類似硬鏈結的諸多限制:

軟鏈結有自己的檔案屬性及許可權等;

可對不存在的檔案或目錄建立軟鏈結;

軟鏈結可交叉檔案系統;

軟鏈結可對檔案或目錄建立;

建立軟鏈結時,鏈結計數 i_nlink 不會增加;

注意:

<1>軟鏈結建立時原檔案的路徑指向使用絕對路徑較好。使用相對路徑建立的軟鏈結被移動後該軟鏈結檔案將成為乙個死鏈結。

<2>軟鏈結相當於乙個快捷方式,不占用資源

<3>硬鏈結就是資料的備份(乙個節點對應多個資料區域)

<4>資料塊的大小越小,資料塊個數就越多,資料節點就會越多,占用資源

資料塊越大,資料塊個數越少,節點個數就越少

這是因為磁碟空間的大小是一定的

實驗如下:

硬鏈結與軟鏈結

1.linux 鏈結概念 linux 鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在 linux 的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱...

軟鏈結與硬鏈結

linux unix中有兩種鏈結,硬鏈結和軟鏈結,均由ln命令來建立。軟鏈結1ln ssource target 建立source檔案的軟鏈結target 123 456dutor dutor desktop ln s gvim.tgz gvim dutor dutor desktop ln s h...

軟鏈結與硬鏈結

一 理解軟鏈結與硬鏈結 1 inode號 在理解軟鏈結與硬鏈結之前讓我們來了解乙個重要的基礎知識 inode節點 linux檔案系統中的索引節點,又稱 index node inode號是檔案的唯一標識,而非檔案名字,它就像我們的身份證號一樣。系統或程式通過 inode 號尋找正確的檔案資料塊。li...