linux 下的硬鏈結與軟鏈結

2021-07-11 12:12:55 字數 1115 閱讀 5703

在linux系統中,核心為每乙個新建立的檔案分配乙個inode(索引結點),每個檔案都有乙個惟一的inode號。檔案屬性儲存在索引結點裡,在訪問檔案時,索引結點被複製到記憶體,從而實現檔案的快速訪問。

linux鏈結分兩種,一種被稱為硬鏈結(hard link),另一種被稱為符號鏈結(symbolic link)。預設情況下,ln命令產生硬鏈結。

一、硬鏈結

硬鏈結說白了是乙個指標,指向檔案索引節點,系統並不為它重新分配inode。

可以看出,在建立硬鏈結前,顯示的鏈結數目為1,建立之後,鏈結數目變為2,test1.txt和test1hard在inode號是一樣的,test1和test1hard顯示的檔案大小也是一樣。可見進行了ln命令的操作結果:test1.txt和test1hard是同乙個檔案的兩個名字,它們具有同樣的索引節點號和檔案屬性,建立檔案test1的硬鏈結,就是為test1的檔案索引節點在當前目錄上建立乙個新指標。你可以刪除其中任何乙個 ,每次只會刪除乙個指標,鏈結數同時減一,當鏈結數減為0時,核心才會把檔案內容從磁碟上刪除。

二、軟鏈結(符號鏈結)

軟鏈結克服了硬鏈結的不足,沒有任何檔案系統的限制,任何使用者可以建立指向目錄的符號鏈結。因而現在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機器、不同網路對檔案進行鏈結。

軟鏈結的刪除:

注意,刪除軟鏈結應該是 rm -rf linkname 而不是 rm -rf linkname/

可以看出:

(1)軟鏈結原檔案與鏈結檔案擁有不同的inode號,表明他們是兩個不同的檔案;

(2)在檔案屬性上軟鏈結明確寫出了是鏈結檔案,而硬鏈結沒有寫出來,因為在本質上硬鏈結檔案和原檔案是完全平等關係;

(3)鏈結數目是不一樣的,軟鏈結的鏈結數目不會增加;

(4)檔案大小是不一樣的,硬鏈結檔案顯示的大小是跟原檔案是一樣的;

(5)任何乙個的時候 ,其他的檔案都會做同步的修改 。軟鏈結不直接使用i節點號作為檔案指標,而是使用檔案路徑名作為指標。所以 刪除連線檔案對原始檔無影響,但是刪除原始檔,連線檔案就會找不到要指向的檔案 。軟鏈結有自己的inode,並在磁碟上有一小片空間存放路徑名。

linux下軟鏈結與硬鏈結

硬鏈結 給檔案做替身,可以刪除兩個檔案中的任意乙個檔案,不受影響 目錄不能夠做目錄的硬鏈結 只能在同乙個分割槽下做硬鏈結,跨分割槽不行 使用方法 ln i root 1.txt tmp 2.txt 給root下的1.txt做乙個硬鏈結,連線到tmp下的2.txt 軟鏈結相當於桌面上的快捷方式 可以跨...

linux硬鏈結與軟鏈結

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

Linux 硬鏈結與軟鏈結

原貼 2007 08 05 10 19 49 linux硬鏈結與軟鏈結 2006 12 01 15 03 首先要弄清楚,在linux系統中,核心為每乙個新建立的檔案分配乙個inode 索引結點 每個檔案都有乙個惟一的inode號。檔案屬性儲存在索引結點裡,在訪問檔案時,索引結點被複製到內存在,從而實...