hard link與symbolic link區別

            Linux下的文件組織方式是每個文件都佔用一個inode,inode中存放有文件的權限信息、block信息等,可以理解爲索引文件系統,通過inode索引到對應的block,即讀取文件。

         hard link

        hard link其實就是多個文件連接到同一個inode,因此,這兩個文件的信息幾乎是一模一樣的,hard link有以下特點:

        1)你將兩都中的任何一個刪除,文件都不會被刪除,你仍然可以通過另一個文件名來讀取文件數據;

        2)通過任一文件名來修改該文件數據都是一樣的結果;

        3)不同的文件系統文件組織方式可能存在差異,所以hard link只能在單一的文件系統上進行;

        4)不能連接到目錄,如果使用hard link來連接目錄,連接的數據需要連同被連接的目錄下面的所有數據建立連接,複雜度相當大。

        5)'.'、'..'都是hard link

      symbolic link

      symbolic link和windows下的快捷方式是可以劃等號的,symbolic link實質是創建一個獨立的文件,它會佔用inode和block,只不過這個文件會讓數據的讀取指向它連接的文件的文件名。

       1)如果原文件被刪除,則連接文件會無法打開;

       2)symbolic link可以連接到不同文件系統,也可以連接到目錄;

       所以,symbolic link連接方式比hard link使用的要廣泛。

      命令

      ln [-sf] 源文件 目標文件

     不加s參數時即爲hard link,否則爲symbolic link,f參數表示強制,如果目標文件存在,會將目標文件刪除後再重新創建。

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