【轉】linux中硬連接和符號連接的區別

在實際應用中硬連接和符號連接(即軟連接)很難區分,但它們的確是有區別的:
硬連接,只能應用於文件,而不能應用於目錄,並且不能跨文件系統(即分區);
符號連接,能夠應用於文件,並且能夠應用於目錄和可跨文件系統(分區);
這是它們在應用上的區別;
 
底層的區別:
當咱們建立了一個文件的硬連接時,硬連接會使用和文件相同的inode號,此時咱們發現,原來的文件的inode鏈接數由最初的1變爲了2,實際上硬連接和文件使用了相同的inode,只不過是inode鏈接數增長了,刪除文件不會影響硬連接,硬連接的inode數會從2變爲1;
看一下演示:
 

 
而在建立文件的軟連接時,軟連接會使用一個新的inode,因此軟連接的inode號和文件的inode號不一樣,軟連接的inode裏存放着指向文件的路徑,刪除文件,軟連接也沒法使用了,由於文件的路徑不存在了;當咱們再次建立這個文件時(文件名與以前的相同),軟連接又會從新指向這個文件(inode號與以前的不一樣了),而硬連接不會受其影響,看演示:

相關文章
相關標籤/搜索