軟鏈接和硬鏈接的區別
什么是鏈接:
文件都是文件名和數據組成的,在linux中被分成兩部分:數據和元數據。數據是記錄文件的真實內容的地方;元數據是記錄文件屬性的地方:創建者、大小、創建時間等信息。元數據中的inode號這是唯一標識文件身份的屬性。在linux中,文件的inode號可以通過ls –i命令查看。在linux中為了解決文件共享使用,引入了兩種鏈接:硬鏈接和軟鏈接。鏈接為 Linux 系統解決了文件的共享使用,還帶來了隱藏文件路徑、增加權限安全及節省存儲等好處。若一個 inode 號對應多個文件名,則稱這些文件為硬鏈接。換言之,硬鏈接就是同一個文件使用了多個別名。
硬鏈接:
硬鏈接可以通過ln命令創建:
硬鏈接有相同的inode號,只是文件名不同的文件,所以硬鏈接有以下的幾點特性:
1、文件有相同的inode號、數據塊;
2、只能對已經存在的文件進行創建;
3、不能跨分區進行創建;
4、不能對目錄創建硬鏈接,而只能對文件。因為在linux的目錄中,有兩個特殊的文件.和..,用命令查看這兩個目錄的inode號可以知道這兩個是兩個硬鏈接,如果可以創建硬鏈接的話,就會形成目錄環;
5、刪除一個硬鏈接并不影響其他有相同inode號的文件,將其中的一個硬鏈接刪除后,其他的文件的鏈接數-1,只有當鏈接數為0時,文件刪除;
在linux系統中,可以通過命令find PATH –inum XXX 命令來查看inode號為XXX的文件已經文件的路徑。
注:在一個分區中,會出現inode號被用完但是磁盤還有空間剩余的情況,這時候在該分區中創建文件,會提示空間不足:
軟鏈接:
若文件的數據中存放的是指向的另一個文件的路徑名,這就是軟連接。軟鏈接就是一個普通文件,只是數據塊內容有點特殊。軟鏈接有著自己的 inode 號以及用戶數據塊??梢杂?/span>ln –s XXX xxx命令來創建軟鏈接。
與硬鏈接相比,軟鏈接有以下的特點:
1、軟鏈接有自己的文件屬性、權限等;
2、可以跨分區創建;
3、可以對文件以及目錄創建;
4、創建軟鏈接時,鏈接計數不會增加;
5、刪除軟鏈接時,不會影響被指向的文件;但是當被指向的文件或目錄被刪除時,相關的鏈接就會出錯;
原創文章,作者:王更生,如若轉載,請注明出處:http://www.www58058.com/53284