歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux中軟連接和硬鏈接

Linux中軟連接和硬鏈接

日期:2017/3/3 11:54:42   编辑:Linux技術

軟連接和硬鏈接一直記不住具體的區別,現在總結一下:

同樣是ln命令。加上-s就是軟鏈接。不加就是硬鏈接,格式為:ln [-s] 被鏈接文件 鏈接文件

硬鏈接

硬鏈接的特點是這樣的:它會在鏈接文件處創建一個和被鏈接文件一樣大小的文件,類似於國外網站和國內鏡像的關系,

硬鏈接占用的空間和被鏈接文件一樣大(其實就是同一片空間)

修改鏈接文件和被鏈接文件中的其中一個,另外一個隨之同樣發生變化

硬鏈接的對象不能是目錄,也就是說被鏈接文件不能為目錄

硬鏈接的兩個文件是獨立的兩個引用計數文件,他們共用同一份數據,所以他們的inode節點相同

刪除硬鏈接中的任意一個文件,另外一個文件不會被刪除。沒有任何影響,鏈接文件一樣可以訪問,內容和被鏈接文件一模一樣。

硬鏈接的原理:在存儲器中只存儲了一份數據,而被鏈接文件和鏈接文件其實都是對這一份數據的引用,所以這份數據就會有最小為2的引用計數,所以才會刪除兩個文件中的任意一個,刪除的都是引用計數,不會影響這一份數據,而另外的一個引用照樣可以訪問這份數據。如果另外一個引用也被刪除了,那麼引用計數就為0,在Linux中,一旦引用計數為0,則認為該數據被刪除了,這時數據就會被徹底清空,從這一點看和cp命令還是有點區別的。

軟鏈接

軟鏈接又稱為符號鏈接,需要在ln 命令後面加上-s,效果基本和Win中的快捷方式,特點如下:軟連接的鏈接文件就是一個基本單元大小的文件,一般為3B,和被鏈接文件的大小沒有關系

軟鏈接的鏈接文件中存儲的是被鏈接文件的元信息,路徑或者inode節點

軟連接的連接文件是一個獨立的文件,有自己的元信息和inode節點

刪除軟鏈接的鏈接文件,被鏈接文件不會受到任何影響

刪除軟鏈接的被鏈接文件,鏈接文件會變成紅色,這時打開鏈接文件會報錯,報找不到被鏈接的文件這種錯誤

軟鏈接可以鏈接任何類型的文件,包括目錄和設備文件都可以作為被鏈接的對象

軟鏈接的原理,和硬鏈接的原理類似,可以比對理解。

Copyright © Linux教程網 All Rights Reserved