「軟鏈結」和「硬鏈結」的區別

2021-08-19 11:08:58 字數 994 閱讀 1890

一、什麼是鏈結?

鏈結簡單說實際上是一種檔案共享的方式,是posix中的概念,主流檔案系統都支援鏈結檔案。

二、作用?

你可以將鏈結簡單地理解為windows中常見的快捷方式(或是os x中的替身),

linux中常用它來解決一些庫版本的問題,通常也會將一些目錄層次較深的檔案鏈結到乙個更易訪問的目錄中。在這些用途上,我們通常會使用到軟連線(也稱符號鏈結)

三、區別?

軟連線跟硬鏈結最大的區別在於:

1.檔案a和檔案b的inode號碼一樣,對檔案內容進行修改,會影響到所有檔名;但是,刪除乙個檔名,不影響另乙個檔名的訪問。這種情況就被稱為"硬鏈結"(hard link)。

2.檔案a和檔案b的inode號碼雖然不一樣,但是檔案a的內容是檔案b的路徑。讀取檔案a時,系統會自動將訪問者導向檔案b。因此,無論開啟哪乙個檔案,最終讀取的都是檔案b。這時,檔案a就稱為檔案b的"軟鏈結"(soft link)或者"符號鏈結(symbolic link)

3.對原始檔、硬鏈結、軟連線修改均會影響檔案內容,因為本質上是修改了同一塊內容。刪除硬鏈結、軟連線均不會影響原始檔的讀寫。

現在有乙個檔案test,內容是"abcd",對這個檔案分別進行以下操作,並通過

ls -i

命令檢視inode

建立硬鏈結test_y

建立軟連線test_r

刪除原始檔test,試圖讀硬鏈結test_y與軟連線test_r

內容參考:

軟鏈結和硬鏈結的區別

1 從儲存資源的角度 軟鏈結新建了乙個檔案,這個檔案和被鏈結的原始檔大小不同,只是記錄了被指向的檔案的路徑資訊 2 從系統管理的角度 硬鏈結通過索引節點來進行連線,乙個索引節點被多個檔名同時指向時,都是硬鏈結的方式 軟鏈結由於是通過建立新檔案的方式,所以指向的是不同的索引節點,通過新檔案儲存的路徑資...

硬鏈結和軟鏈結的區別

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

「軟鏈結」和「硬鏈結」的區別

鏈結簡單說實際上是一種檔案共享的方式,是 posix 中的概念,主流檔案系統都支援鏈結檔案。你可以將鏈結簡單地理解為 windows 中常見的快捷方式 或是 os x 中的替身 linux 中常用它來解決一些庫版本的問題,通常也會將一些目錄層次較深的檔案鏈結到乙個更易訪問的目錄中。在這些用途上,我們...