linux學習——軟連結、硬連結與複製的區別
阿新 • • 發佈:2019-02-02
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下快捷方式指向的目標不存在了)
硬連結只能用於檔案,不能用於目錄;軟連結可以為目錄建連結。
硬連結不能跨檔案系統操作。