1. 程式人生 > >linux 硬鏈接與軟鏈接

linux 硬鏈接與軟鏈接

區別 數據 應該 tor 權限 linux系統中 誤刪 知識 其中

硬鏈接與軟鏈接

1.inode 和塊的知識

2.硬鏈接與軟鏈接


要弄清楚這兩者之間的區別,inode是必須要弄清楚的知識點

1.inode 和塊

            文件儲存在硬盤上,硬盤的最小存儲單位叫做“扇區”。
            每個扇區能儲存512字節。操作系統在讀取硬盤的時候,不會一個個扇區的讀取,
            這樣效率太低,而是一次性連續讀多個扇區,即一次性讀取一個“塊”(block)。
            這種由多個扇區組成的“塊”,是文件存取的最小單位。

            文件數據都存放在block中,那麽很顯然,我們還必須找到一個地方儲存文件的元信息,
            比如文件的創建者、文件的創建日期、文件的大小等等。
            這種儲存文件元信息的區域就叫做inode。

每一個文件都有對應的inode,裏面包含了與該文件有關的一些信息。

inode的內容:

inode包含文件的元信息,具體來說有以下內容:

            文件的字節數
            文件的擁有者uid
            文件的所屬組gid
            文件的r、w、x權限
            文件的時間戳
            ctime:文件的inode上一次變動的時間
            mtime:文件內容上一次變動的時間
            atime:文件上一次打開的時間
            硬鏈接數
            文件數據block的位置

            Unix/Linux系統中,目錄(directory)也是一種文件。打開目錄,實際上就是打開目錄文件。
            目錄文件的結構非常簡單,就是一系列目錄項(dirent)的列表。每個目錄項,
            由兩部分組成:所包含文件的文件名,該文件名對應的inode號碼

2.硬鏈接與軟鏈接

        硬鏈接

        硬鏈接指通過inode來進行連接

        在Linux的文件系統中,保存在磁盤分區中的文件不管是什麽類型都給它分配一個編號,
        在Linux中,多個文件名指向同一索引節點是存在的。一般這種連接就是硬連接
        硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,起到防止“誤刪”的功能.

        其原因如上所述,因為對應該目錄的索引節點有一個以上的連接。
        只刪除一個連接並不影響索引節點本身和其它的連接,只有當最後一個連接被刪除後,
        文件的數據塊及目錄的連接才會被釋放。
        也就是說,文件真正刪除的條件是與之相關的所有硬連接文件均被刪除。

        軟鏈接
        軟鏈接文件有點類似於Windows的快捷方式。它實際上是一個特殊的文件。在軟鏈接中,
        文件實際上是一個文本文件,其中包含的有另一文件的位置信息,相當於指針的作用。

linux 硬鏈接與軟鏈接