Linux的軟鏈接和硬鏈接詳解

Linux下的鏈接文件有點類似於Windows的快捷方式,但又不完全一樣。鏈接文件有兩種:一種是硬鏈接,另一種是符號鏈接(又稱軟鏈接)。下面我給大家說說它們兩者之間的區別。

這裏寫圖片描述

硬鏈接:

硬鏈接是通過索引節點進行的鏈接。在Linux中,多個文件指向同一個索引節點是允許的,像這樣的鏈接就是硬鏈接。硬鏈接只能在同一文件系統中的文件之間進行鏈接不能對目錄進行創建。如果刪除硬鏈接對應的源文件,則硬鏈接文件仍然存在,而且保存了原有的內容,這樣可以起到防止因爲誤操作而錯誤刪除文件的作用。由於硬鏈接是有着相同 inode 號僅文件名不同的文件,因此,刪除一個硬鏈接文件並不影響其他有相同 inode 號的文件。

硬鏈接可由命令 link 或 ln 創建,如:

link oldfile newfile 
ln oldfile newfile

軟鏈接:

軟鏈接(也叫符號鏈接)與硬鏈接不同,文件用戶數據塊中存放的內容是另一文件的路徑名的指向。軟鏈接就是一個普通文件,只是數據塊內容有點特殊。軟鏈接可對文件或目錄創建

軟鏈接主要應用於以下兩個方面:一是方便管理,例如可以把一個複雜路徑下的文件鏈接到一個簡單路徑下方便用戶訪問;另一方面就是解決文件系統磁盤空間不足的情況。例如某個文件文件系統空間已經用完了,但是現在必須在該文件系統下創建一個新的目錄並存儲大量的文件,那麼可以把另一個剩餘空間較多的文件系統中的目錄鏈接到該文件系統中,這樣就可以很好的解決空間不足問題。刪除軟鏈接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接就變成了死鏈接

使用-s選項的ln命令即可創建符號鏈接,命令如下:

ln -s old.file soft.link
ln -s old.dir soft.link.dir

inode叫做索引節點號,這是Linux文件系統管理文件的方式。在建立文件系統時,會建立一個索引節點表,裏面包含一定數量的索引節點。每當建立一個文件時,就會爲他分配一個索引節點號,相當於文件的地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章