硬連結和軟連結(1)
阿新 • • 發佈:2020-10-19
連結檔案分兩種:
1.硬連結:ls -l 第二段現實出的數字,指明檔案被連結的次數
如果硬連結的次數為1,刪除此檔案就將清除檔案的inode,這就意味著此檔案被刪除
舉例如下:
然後給fstab做一個硬連結:(硬連結格式:ln 原檔案路徑 新檔案路徑)
使用ls -i可以檢視檔案inode號碼:
這樣我們就可以得知hi和fstab的inode號碼一致,因此它們是同一個檔案。
例如:我對fstab檔案進行編輯:
在最後一行我輸入了一串字元,然後我開啟hi這個檔案:
所以說它們的的確確是同一個檔案。
由於inode只能管理同一個分割槽上的磁碟塊,所以,硬連結不能夠跨分割槽建立。
而我們試著來刪除它們當中的一個,看看會有什麼效果:
在開啟看看fstab:
由此,我們可以得出結論:刪除原檔案路徑,並不會影響連結檔案的使用。但此時硬連結次數為1,再進行刪除操作,這個檔案就沒了。
還有一個問題,目錄是不能建立硬連線的,但是目錄的連結次數為啥為2呢?
我使用ls -ai檢視/目錄,以及/tmp 目錄得出結論,/目錄下的/tmp和/tmp目錄下的“.”inode號碼一致。而我們知道,訪問任何一個目錄或檔案,我們都可以使用絕對路徑和相對路徑,所以,這樣就可以解釋通了,新目錄的連結數為什麼是2,而上層目錄數則會增加1,我來測試看看:
我們可以發現,原本/tmp 目錄的連結數由8增加為9,而新目錄/tmp/li則為2,是不是這樣呢,我們看一下:
所以說,目錄的連結數和檔案的連結數不是一回事!
轉載於:https://blog.51cto.com/yingdeyumao/1388701