Linux中的硬鏈結和軟鏈結的概念 區別及用法

2021-10-09 14:20:16 字數 934 閱讀 2393

a是b的硬鏈結(a和b都是檔名),則a的目錄項中的inode節點號與b的目錄項中的inode節點號相同,即乙個inode節點對應兩個不同的檔名,兩個檔名指向同乙個檔案,a和b對檔案系統來說是完全平等的。如果刪除了其中乙個,對另外乙個沒有影響。每增加乙個檔名,inode節點上的鏈結數增加一,每刪除乙個對應的檔名,inode節點上的鏈結數減一,直到為0,inode節點和對應的資料塊被**。注:檔案和檔名是不同的東西,rm a刪除的只是a這個檔名,而a對應的資料塊(檔案)只有在inode節點鏈結數減少為0的時候才會被系統**。

a是b的軟鏈結(a和b都是檔名),a的目錄項中的inode節點號與b的目錄項中的inode節點號不相同,a和b指向的是兩個不同的inode,繼而指向兩塊不同的資料塊。但是a的資料塊中存放的只是b的路徑名(可以根據這個找到b的目錄項)。a和b之間是「主從」關係,如果b被刪除了,a仍然存在(因為兩個是不同的檔案),但指向的是乙個無效的鏈結。

主要區別、限制:

a.不能對目錄建立硬鏈結,原因有幾種,最重要的是:檔案系統不能存在鏈結環(目錄建立時的".."除外,這個系統可以識別出來),存在環的後果會導致例如檔案遍歷等操作的混亂(du,pwd等命令的運作原理就是基於檔案硬鏈結,順便一提,ls -l結果的第二列也是檔案的硬鏈結數,即inode節點的鏈結數)

a.可以對目錄建立軟鏈結,遍歷操作會忽略目錄的軟鏈結。

b:可以跨檔案系統

c:可以對不存在的檔案建立軟鏈結,因為放的只是乙個字串,至於這個字串是不是對於乙個實際的檔案,就是另外一回事了

ln 語法格式

否則會報錯(no such file or diretory)

示例:

如果覺得不錯的話可以點讚關注哦!  謝謝

Linux中的硬鏈結和軟鏈結

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

linux中的硬鏈結和軟鏈結

硬鏈結 指向同乙個索引節點,進而指向同乙個物理檔案。只要有乙個硬鏈結存在,物理檔案就不會被清除。硬鏈結和原檔案是 平等 的,只刪除乙個不能使檔案真正被刪除。軟鏈結 指向乙個新的索引節點,該節點指向的空間存的是檔案的路徑,根據路徑找到物理檔案。如果軟鏈結建立時指定的那個目錄被 刪除 則無法訪問物理檔案...

linux中的硬鏈結和軟鏈結

linux中的硬鏈結和軟鏈結,從linux的檔案系統和檔案節點這個角度來看,還是比較清晰的。要檢視關於linux檔案系統和檔案節點inode的介紹,可以看我的這一篇部落格。linux的檔案系統結構 superblock和inode節點等介紹 下面就講一講linux中的硬鏈結和軟鏈結。1 硬鏈結 2 ...