1. 程式人生 > >linux學習——軟連結、硬連結與複製的區別

linux學習——軟連結、硬連結與複製的區別

1、語法:

硬連結:ln source source1
軟連結:ln -s source source1
複製:cp source source1

2、含義:

硬連結:硬連結實際上是為檔案建一個別名,連結檔案和原檔案實際上是同一個檔案。可以通過ls -i來檢視一下,這兩個檔案的inode號是同一個,說明它們是同一個檔案。

軟連結:通過軟連結建立的連結檔案與原檔案並不是同一個檔案,相當於原檔案的快捷方式。具體理解的話,連結檔案記憶體儲的是原檔案的inode,也就是說是用來指向原檔案檔案,這兩個檔案的inode是不一樣的。

複製:相當於將原檔案進行一個拷貝,為另一個全新的檔案,與原檔案沒有關係了。修改任何一個都不會影響另一個。

3、特點:

硬連結的特點是這樣的:

  • 它會在連結檔案處建立一個和被連結檔案一樣大小的檔案,類似於國外網站和國內映象的關係,
  • 硬連結佔用的空間和被連結檔案一樣大(其實就是同一片空間)
  • 修改連結檔案和被連結檔案中的其中一個,另外一個隨之同樣發生變化
  • 硬連結的物件不能是目錄,也就是說被連結檔案不能為目錄
  • 硬連結的兩個檔案是獨立的兩個引用計數檔案,他們共用同一份資料,所以他們- 的inode節點相同
  • 刪除硬連結中的任意一個檔案,另外一個檔案不會被刪除。沒有任何影響,連結檔案一樣可以訪問,內容和被連結檔案一模一樣。

軟連結的特點:

  • 軟連線的連結檔案就是一個基本單元大小的檔案,一般為3B,和被連結檔案的大小沒有關係
  • 軟連結的連結檔案中儲存的是被連結檔案的元資訊,路徑或者inode節點
  • 軟連線的連線檔案是一個獨立的檔案,有自己的元資訊和inode節點
  • 刪除軟連結的連結檔案,被連結檔案不會受到任何影響
  • 刪除軟連結的被連結檔案,連結檔案會變成紅色,這時開啟連結檔案會報錯,報找不到被連結的檔案這種錯誤
  • 軟連結可以連結任何型別的檔案,包括目錄和裝置檔案都可以作為被連結的物件

複製的特點:

  • 複製產生的檔案是一個獨立的檔案,有自己的元資訊和inode節點
  • 刪除或修改複製檔案,對原檔案不會產生任何影響,反過來也是一樣的
  • 複製可以複製檔案,也可以複製目錄

4、理解:

硬連結檔案是一種引用計數的運用,軟連線可以理解為Windows下面的快捷方式。

A硬鏈B 刪除B後A依然存在,且可用。
A軟鏈B 刪除B後A存在,但不可用了(相當於Windows下快捷方式指向的目標不存在了)

硬連結只能用於檔案,不能用於目錄;軟連結可以為目錄建連結。

硬連結不能跨檔案系統操作。