深入理解Linux的軟鏈結和硬鏈結

2021-12-29 16:39:19 字數 849 閱讀 7539

深入理解linux的軟鏈結和硬鏈結

一直沒有深入了解過鏈結這塊的知識,昨晚有個朋友問我這問題,一下子激發了我的興趣。今天早上過來看了看鳥哥的書然後在stackoverflow上找了一番,感覺自己現在的理解到位了,起碼這樣理解容易記憶。先來做個實驗,在我們的使用者目錄下,建立乙個測試資料夾,然後新建乙個檔案,並建立這個檔案的軟鏈結和硬鏈結。如下:

vim file1 #新建檔案

ln -s file1  file1.soft #軟鏈結

ln file1 file1.hard  #硬鏈結

緊接著,我偶們看下這三個檔案的具體資訊:

我們發現軟鏈結的檔案屬性是l,而硬鏈結和檔案一樣,都是-,並且軟鏈結的檔案比較小,而硬鏈結檔案大小和原檔案一樣。緊接著,我們修改下file1檔案,然後接著看檔案資訊:

我們發現,修改完file1後,file1.hard的修改時間也同步發生變化,但是file1.soft的檔案時間資訊沒有發生變化。我們再修改下file1.soft檔案,然後檢視檔案資訊,同樣發現file1和file1.hard檔案的時間資訊發生了改變,而file1.soft檔案時間資訊仍然沒有改變。道理先不講,繼續來。

linux童鞋他只認識數字,其他的啥都不懂,所以在使用linux的時候,我們很多地方都對應乙個數字,比如程序號、許可權值等等,檔案在linux中同樣也是通過數字來標識的,這個數字就叫檔案的索引節點(inode),每個檔案都有乙個唯一的索引節點。我們可以通過「ls -i」來檢視檔案的inode節點資訊,如下:

我們驚奇的發現file1和file1.hard的inode節點值是一樣的,這個時候不知道你是不是恍然大悟,因為他們的inode值一樣,那linux在更新檔案的時候會根據inode去找到相應的檔案然後更新,而每次更新都會找到兩個檔案。

linux軟鏈結與硬鏈結深入理解

ln鏈結分為軟鏈結和硬鏈結,軟鏈結效果等同於windows快捷方式 硬鏈結相當於檔案的copy,與原始檔保持一致 inode index num一致,實質是指向inode block,不額外占用磁碟空間 硬鏈結知識總結 1.具有相同的inode節點號的多個檔案是互為硬鏈結檔案。2.刪除硬鏈結檔案或者...

理解軟鏈結和硬鏈結

軟鏈結 儲存的是所指向檔案的路徑 root myrhel tmp ln a c root myrhel tmp ls li total 0 15 rw r r 2 root root 0 mar 28 22 57 a 40847 lrwxrwxrwx.1 root root 1 mar 28 22 ...

理解 Linux軟連線和硬鏈結

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