- 定義:
軟鏈接:又叫符號鏈接,這個文件包含了另一個文件的路徑名。可以是任意文件或目錄,可以鏈接不同文件系統的文件。
硬鏈接:就是一個文件的一個或多個文件名。把文件名和計算機文件系統使用的節點號鏈接起來。因此我們可以用多個文件名與同一個文件進行鏈接,這些文件名可以在同一目錄或不同目錄。
- 最本質的區別是:
軟鏈接:不是同一個文件
硬鏈接:同一個文件,多個名字
- 是否可以跨分區:
軟鏈接:可以
硬鏈接:不可以,只能在同一個分區創建(跨分區造成文件節點編號不同)
- 創建語法格式:
軟鏈接:n -s 源文件 鏈接名
硬鏈接:ln 源文件 鏈接名
- 是否可以基於文件夾創建
軟鏈接:可以
硬鏈接:不可以(避免嵌套造成死循環)
- inode:
軟鏈接:獨立於源文件
硬鏈接:與源文件是同一個inode
- 鏈接數:
軟鏈接:始終爲1
硬鏈接:文件實際引用鏈接數,每增加一個文件名,inode節點上的鏈接數增加一,每刪除一個文件名,inode節點上的鏈接數減一,直到爲0,inode節點和對應的數據塊被回收。
- 相對路徑:
軟鏈接:相對路徑是相對於軟鏈接所在目錄的相對路徑
硬鏈接:相同
- 文件類型
軟鏈接:符號鏈接
硬鏈接:文件
- 文件大小:
軟鏈接:只有符號佔用的大小
硬鏈接:實際文件的大小
- 刪除後的表現:
硬鏈接:刪除一個文件並不影響其他有相同 inode 號的文件。
軟鏈接:刪除軟鏈接並不影響被指向的文件,如果被引用的源文件被刪除,則該軟連接將失效,無法被正常使用,若被指向路徑文件被重新創建,則可恢復爲正常的軟鏈接。