硬鏈結和軟鏈結

2021-09-24 03:06:04 字數 1004 閱讀 5207

一般情況下,檔名和inode編號是一一對應的關係,每個inode號碼對應乙個檔名。但unix/linux系統多個檔名也可以指向同乙個inode號碼。這意味著可以用不同的檔名訪問同樣的內容,對檔案內容進行修改,會影響到所有檔名。但刪除乙個檔名,不影響另乙個檔名的訪問。這種情況被稱為硬鏈結。

建立硬鏈結的命令為ln 原始檔 目標檔案

inode資訊中有一項叫做「鏈結數」,記錄指向該inode的檔名總數,這時會增加1,變成2。

同理,刪除乙個jf2.txt檔案,會使jf1.txt inode節點中的「鏈結數」減1。如果該inode值減到0,表明沒有檔名指向這個inode,系統就會**這個inode號碼,以及其所對應block區域。

除了硬鏈結以外,還有一種鏈結——軟鏈結。檔案jf1.txt和檔案jf2.txt的inode號碼雖然不同,但是檔案jf2.txt的內容是檔案jf1.txt的路徑。讀取檔案jf2.txt時,系統會自動將訪問者導向檔案jf1.txt。

無論開啟哪個檔案,最終讀取的檔案都是jf1.txt。這時,檔案jf2.txt就稱為檔案jf1.txt的"軟鏈結"或者"符號鏈結"。

檔案jf2.txt依賴於檔案jf1.txt而存在,如果刪除了檔案jf1.txt,開啟檔案jf2.txt就會報錯。

軟鏈結與硬鏈結最大的不同是檔案jf2.txt指向檔案jf1.txt的檔名,而不是檔案jf1.txt的inode號碼,因此檔案jf1.txt的inode鏈結數不會發生變化。

建立軟鏈結的命令為ln -s 原始檔 目標檔案

軟鏈結和硬鏈結

又叫符號鏈結,這個檔案包含了另乙個檔案的路徑名。可以是任意檔案或目錄,可以鏈結不同檔案系統的檔案。鏈結檔案甚至可以鏈結不存在的檔案,這就產生一般稱之為 斷鏈 的問題 或曰 現象 鏈結檔案甚至可以迴圈鏈結自己。類似於程式語言中的遞迴。軟連線的格式是 ln s 目標檔名 鏈結名 在對符號檔案進行讀或寫操...

硬鏈結和軟鏈結

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

硬鏈結和軟鏈結

在linux中除了程序之外都是檔案,目錄是特殊的檔案,目錄記錄了其他檔案的檔名。linux檔案被分為兩部分 元資料 檔案的屬性資料 和使用者資料 實際的資料 在linux中通過檔名開啟檔案。檢視檔案的inode號可以使用stat或者ls i命令。軟連線和硬鏈結 硬鏈結是兩個檔名指向同乙個inode,...