符號鏈結:可以建立對於檔案和目錄的鏈結。符號鏈結可以跨檔案系統,即可以跨磁碟分割槽。符號鏈結的檔案型別位是l,鏈結檔案具有新的i節點。from:硬鏈結:不可以跨檔案系統。它只能建立對檔案的鏈結,硬鏈結的檔案型別位是-,且硬鏈結檔案的i節點同被鏈結檔案的i節點相同。
在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節點號inode 。軟連線,其實就是新建立乙個檔案,這個檔案就是專門用來指向別的檔案的(那就和windows
下的快捷方式的那個檔案有很接近的意味)。軟鏈結產生的是乙個新的檔案,但這個檔案的作用就是專門指向某個檔案的,刪了這個軟連線檔案,那就等於不需要這個連線,和原來的存在的實體原檔案沒有任何關係,但刪除原來的檔案,則相應的軟連線不可用(cat那個軟鏈結檔案,則提示「沒有該檔案或目錄「)
硬連線是不會建立inode的,他只是在檔案原來的inode link
count域再增加1而已,也因此硬鏈結是不可以跨越檔案系統的。相反都是軟連線會重新建立乙個inode,當然inode的結構跟其他的不一樣,他只是乙個指明原始檔的字串資訊。一旦刪除原始檔,那麼軟連線將變得毫無意義。而硬鏈結刪除的時候,系統呼叫會檢查inode
link count的數值,如果他大於等於1,那麼inode不會被**。因此檔案的內容不會被刪除。
硬鏈結實際上是為檔案建乙個別名,鏈結檔案和原檔案實際上是同乙個檔案。可以通過ls
-i來檢視一下,這兩個檔案的inode號是同乙個,說明它們是同乙個檔案;而軟鏈結建立的是乙個指向,即鏈結檔案內的內容是指向原檔案的指標,它們是兩個檔案。
軟鏈結可以跨檔案系統,硬鏈結不可以;軟鏈結可以對乙個不存在的檔名(filename)進行鏈結(當然此時如果你vi這個軟鏈結檔案,linux會自動新建乙個檔名為filename的檔案),硬鏈結不可以(其檔案必須存在,inode必須存在);軟鏈結可以對目錄進行連線,硬鏈結不可以。兩種鏈結都可以通過命令
ln 來建立。ln 預設建立的是硬鏈結。使用 -s 開關可以建立軟鏈結。 ##
硬鏈結與符號鏈結
索引節點 inode 要 了解鏈結,我們首先得了解乙個概念,叫索引節點 inode 在linux系統中,核心為每乙個新建立的檔案分配乙個inode 索引結點 每個檔案 都有乙個惟一的inode號,我們可以將inode簡單理解成乙個指標,它永遠指向本檔案的具體儲存位置。檔案屬性儲存在索引結點裡,在訪問...
硬鏈結與符號鏈結
乙個inode節點可以存在任意數目的硬鏈結。在刪除硬鏈結時,該inode節點上的資料上的資料將不會受到影響。在linux系統中可以使用ln命令來建立硬鏈結。首先用touch命令建立名為link.test的檔案。然後,輸入 ln link.test link 命令,這時就建立了指向link.test的...
硬鏈結與符號鏈結
我們首先來了解一下幾個名詞。索引節點 inode 要了解鏈結,我們首先得了解乙個概念,叫索引節點 inode 在linux系統中,核心為每乙個新建立的檔案分配乙個inode 索引結點 每個檔案都有乙個惟一的inode號,我們可以將inode簡單理解成乙個指標,它永遠指向本檔案的具體儲存位置。檔案屬性...