1. 程式人生 > >Linux作業系統中軟硬連結的區別

Linux作業系統中軟硬連結的區別

軟硬連結的區別

總結:軟連結相當於windows下的快捷方式
    硬連結相當於拷貝加同步。

(1)軟連線可以 跨檔案系統 ,硬連線不可以 。實踐的方法就是用共享檔案把windows下的 aa.txt文字文件連線到Linux下/root目錄 下 bb,cc . ln -s aa.txt /root/bb 連線成功 。ln             aa.txt /root/bb 失敗 。

(2)關於 I節點的問題 。硬連線不管有多少個,都指向的是同一個I節點,會把 結點連線數增加,只要結點的連線數不是 0,檔案就一直存在 ,不管你刪除的是原始檔還是連線的檔案。只         要有一個存在,檔案就 存在(其實也不分什麼 原始檔連線檔案的 ,因為他們指向都是同一個 I節點)。 當你修改原始檔或者連線檔案任何一個的時候,其他的 檔案都會做同步的修           改 。軟連結不直接使用i節點號作為檔案指標, 而是使用檔案路徑名作為指標。所以刪除連線檔案對原始檔無影響,但是刪除原始檔,連線檔案就會找不到要指向的檔案。軟連結有自           己的inode, 並在磁碟上有一小片空間存放路徑名。

(3)軟連線可以對一個不存在的檔名進行連線 。

(4)軟連線可以對目錄進行連線。

備註:I節點 :它是UNIX內部用於描述檔案特性的資料結構。我們通常稱I節點為檔案索引結點(資訊結點)。i節點含有關於檔案的大部分的重要信 息,包括檔案資料塊在磁碟上的地址。每一         個I節點有它自己的標誌號,我們稱為檔案順序號。I節點包含的資訊 :1.檔案型別  2.檔案屬主關係  3.檔案的訪問許可權  4.檔案的時間截 。

硬連線指通過索引節點來進行的連線。在Linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配一個編號,稱為索引節點號(Inode Index )。在Linux中,多個檔名指向同一索引節點是存在的。一般這種連線就是硬連線。

硬連線的作用是允許一個檔案擁有多個有效路徑名,這樣使用者就可以建立硬連線到重要的檔案,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的連線。只刪除一個連線並不影響索引節點本身和其它的連線,只有當最後一個連線被刪除後,檔案的資料塊及目錄的連線才會被釋放。也就是說,檔案才會被真正刪除。

軟連結檔案有點類似於Windows的快捷方式。它實際上是特殊檔案的一種。在符號連線中,檔案實際上是一個文字檔案,其中包含的有另一檔案的位置資訊。

軟連結是另一個檔案,作用可以理解為一個指標,作用在這個檔案上的操作除了刪除都直接轉向實際指向檔案,由於是一個真實的檔案所以佔用磁碟空間 。硬連結可以認為不是一個檔案,它只是實際檔案的一個別名,它的作用是防止真實檔案被誤操作,給一個檔案建立硬連結後,他們互為別名,刪除其中任一個,只會刪除該別名,實際檔案並不會被刪除。由於只是別名沒有任何其他資訊,所以並不佔用原始檔案大小的磁碟空間。