Linux軟鏈結和硬鏈結的區別

2021-09-25 18:38:56 字數 792 閱讀 8351

在linux系統中,鏈結分兩種 :一種被稱為硬鏈結(hard link),另一種被稱為符號鏈結或軟鏈結(symbolic link)。

1)預設不帶引數情況下,ln命令建立的是硬鏈結。

2)硬鏈結檔案與原始檔的inode節點號相同,而軟鏈結檔案的inode節點號與原始檔不同。3)ln命令不能對目錄建立硬鏈結,但可以建立軟鏈結,對目錄的軟鏈結會經常被用到。

4)刪除軟鏈結檔案,對原始檔及硬鏈結檔案無任何影響;

5)刪除檔案的硬鏈結檔案,對原始檔及軟鏈結檔案無任何影響;

6)刪除鏈結檔案的原檔案,對硬鏈結檔案無影響,會導致其軟鏈結失效(紅底白字閃爍狀);

7)同時刪除原檔案及其硬鏈結檔案,整個檔案才會被真正的刪除。

8)很多硬體裝置中的快照功能,使用的就類似硬鏈結的原理。

9)軟連線可以跨檔案系統,硬鏈結不可以跨檔案系統。

乙個硬鏈結是乙個已存在的檔案的另乙個名字;這個鏈結和原始檔很難發現有不同的地方(除了名稱不一樣)。從技術上講,他們共享同乙個inode節點號,並且這個節點包含乙個檔案的所有真實資訊(各種屬性資訊,非檔名和檔案內容),把inode當成是檔案的說法是不對的。你不能為乙個目錄建立硬鏈結,並且硬鏈結不能穿越檔案系統邊界。然而,上述限制在posix中是不被限制的。符號鏈結是乙個特殊的檔案型別,這不是所有的核心都支援的,system v release 3或更老的系統就缺乏符號鏈結,這個符號連線檔案實際上是通過名字指向乙個不同的檔案(和原始檔是不同的檔案),當開啟,讀取,寫入等等大多數操作時,會通過符號鏈結鏈結到檔案,核心自動找到鏈結並且操作鏈結的源,但是一些操作(如:刪除)等工作是針對鏈結自身的,而不是鏈結的源。

linux 硬鏈結和軟鏈結區別

硬鏈結有點類似於複製的概念。ln 原始檔 目的檔案 ln不加 s,則預設是硬鏈結。例如,ln script script hard,ls命令顯示,script 顯示硬鏈結有兩個。我任意刪除其中乙個,ls命令顯示剩下的檔案硬鏈結為1 當建立script hard時,linux會為其分配乙個新的inod...

linux硬鏈結和軟鏈結的區別

1.原理上 硬鏈結 hard link a是b的硬鏈結 a和b都是檔名 則a的目錄項中的inode節點號與b的目錄項中的inode節點號相同,即乙個inode節點對應兩個不同的檔名,兩個檔名指向同乙個檔案,a和b對檔案系統來說是完全平等的。如果刪除了其中乙個,對另外乙個沒有影響。每增加乙個檔名,in...

linux硬鏈結和軟鏈結的區別

硬鏈結 hard link a是b的硬鏈結 a和b都是目錄項 dentry 則a的目錄項中的inode節點號與b的目錄項中的inode節點號相同,即乙個inode節點對應兩個不同的目錄項 dentry 兩個檔名指向同乙個檔案,a和b對檔案系統來說是完全平等的。如果刪除了其中乙個,對另外乙個沒有影響。...