1. 簡介
ln 命令用來為文件或目錄創建軟連接和硬鏈接,
命令格式為:ln option dist source
dist 為絕對路徑
Linux中每個文件對應一個存儲文件信息的數據結構 inode,文件名相當於指向 inode 的指針;
2. 硬鏈接
為文件創建硬鏈接就是增加一個指針指向該文件對應的 inode;
可以為一個文件創建多個硬鏈接,每個軟鏈接都指向源文件,刪除一個硬鏈接不影響源文件及其他軟鏈接;
示例:為 a.txt 創建一個硬鏈接 b.txt,然后向 b.txt 追加信息,然后指向這個 inode 對象的所有文件都發生了變化
2.1 缺點
不可以在不同文件系統的文件間建立鏈接;
只有超級用戶才可以為目錄創建硬鏈接;
2.2 優點
源文件移動不影響硬鏈接的使用
3. 軟鏈接
將文件B軟鏈接到文件A,文件A的內容是文件B的路徑。讀取文件A時,系統會自動將訪問者導向文件B。因此,無論打開哪一個文件,最終讀取的都是文件B;
軟鏈接依賴源文件,源文件刪除后。所有的軟鏈接都無法正常使用,因為軟鏈接本質還是操作鏈接指向的源文件;
可以為一個文件創建多個軟鏈接,每個軟鏈接都指向源文件,刪除一個軟鏈接不影響源文件及其他軟鏈接;
3.1 軟鏈接文件
示例:為 a.txt 創建軟連接 b.txt,b.txt 指向a.txt,操作 b.txt 時實際操作的就是a.txt
3.2 軟鏈接目錄
為目錄 a 創建 軟鏈接 b,然后拷貝文件到 b,實際是將文件拷貝到 a 目錄
3.3 缺點
軟鏈接文件保存的是源文件的路徑,如果源文件目錄發生變化,則軟鏈接無法找到源文件
3.4 優點
克服了硬鏈接的缺點