linux中的硬鏈結和軟鏈結

2021-09-08 23:45:09 字數 1071 閱讀 1345

硬鏈結:指向同乙個索引節點,進而指向同乙個物理檔案。只要有乙個硬鏈結存在,物理檔案就不會被清除。硬鏈結和原檔案是「平等」的,只刪除乙個不能使檔案真正被刪除。

軟鏈結:指向乙個新的索引節點,該節點指向的空間存的是檔案的路徑,根據路徑找到物理檔案。如果軟鏈結建立時指定的那個目錄被「刪除」,則無法訪問物理檔案。軟鏈結是附屬於原檔案的,刪除、更改原檔案路徑後軟鏈結將失效

如圖,file是原檔案,硬鏈結hard link和它指向了同乙個索引節點,進而指向同一資料塊。而軟鏈結soft link指向了新的索引節點,資料塊存的是file的路徑,訪問時是先獲得路徑(file),再訪問真正的資料塊的。

實驗一 建立原檔案myfile,硬鏈結hard1、hard2,軟鏈結soft1、soft2

現象:硬鏈結的位址和myfile一樣(290709),都是i節點的位址,指向的空間存的是真正的檔案。軟鏈結的位址和myfile不一樣,也各不相同(290710和290711)。它的位址是i節點位址,指向的空間存的是檔案的路徑(myfile的路徑)

建立原檔案myfile,硬鏈結hard1、hard2,軟鏈結soft1、soft2

實驗二 刪除原檔案myfile

刪除原檔案後,硬鏈結仍能訪問,軟鏈結不能訪問

實驗三 將myfile移動到myfile2

移動原檔案

原因:將myfile移動到myfile2,僅僅是目錄名稱改變了,而i節點和真正的儲存空間都不變。硬鏈結和原檔案是「平等」的,所以改變myfile不會影響到hard2。但訪問軟鏈結soft2時,是根據原來的路徑myfile查詢的,所以找不到了。

參考:

linux中軟鏈結和硬鏈結

linux中存在兩種鏈結檔案,軟鏈結和硬鏈結。硬鏈結 使用方式 ln sourcefile destfile 原理 linux檔案系統中每個檔案所對應的實際硬碟位置資訊會儲存在檔案的inode中,目錄結構的實現即是通過inode的組織實現的,具體還涉及到檔案塊的分配等,以後有機會在寫文章回顧大學學的...

Linux中的硬鏈結和軟鏈結

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

linux中的硬鏈結和軟鏈結

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