軟鏈結和硬鏈結的聯絡和區別

2022-02-02 12:10:47 字數 880 閱讀 6496

為了共享使用,給乙個檔案在其他地方建立乙個鏈結,使用ln或者link命令實現

1、首先我們來個通俗地理解:

2、使用方法:

軟連線:ln –s 原始檔 目標檔案,如下圖:

解釋:首先我建立了乙個新的檔案,並輸入了內容this is a test,然後使用ln -s為test建立軟連線,檢視軟連線內容和test一樣。

我們看到,我們之前為test建立的硬鏈結的inode和test是一樣的,但是軟連線和test是不一樣的。這個怎麼解釋呢?

inode 號即索引節點號(是檔案元資料的一部分但其並不包含檔名),是檔案的唯一標識而非檔名,檔名僅是為了方便人們的記憶和使用,系統或程式通過 inode 號尋找正確的檔案資料塊。下圖展示了程式通過檔名獲取檔案內容的過程。

linux中,檔案的移動或者重新命名是不會改變inode號的。驗證如下:

對應鏈結,我們得知若乙個 inode 號對應多個檔名,則稱這些檔案為硬鏈結。也就是說,硬鏈結就是同乙個檔案使用了多個別名,所以他並不占用空間。

軟鏈結就是乙個普通檔案,它是記錄了原始檔的一些資訊(如inode等),並且軟鏈結有著自己的 inode 號以及使用者資料塊(故inode和原始檔是不同的)。

Linux中硬鏈結和軟鏈結的區別和聯絡

硬鏈結說白了是乙個指標,指向檔案索引節點,系統並不為它重新分配inode。可以用 ln命令來建立硬鏈結。語法 quote ln options existingfile newfile ln options existingfile list directory 用法 第一種 為 existingf...

軟鏈結和硬鏈結的區別

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

硬鏈結和軟鏈結的區別

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