硬鏈接(Hard Link):
硬連接指通過索引節點來進行鏈接(即一個指針指向文件索引節點)。在Linux的文件系統中,保存在磁盤分區中的文件不管是什么類型都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點是存在的。一般這種鏈接就是硬鏈接。硬鏈接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬鏈接到重要文件,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的連接。只刪除一個鏈接并不影響索引節點本身和其它的鏈接,只有當最后一個鏈接被刪除后,文件的數據塊及目錄的連接才會被釋放。
建立硬鏈接語法:ln filename [linkname]
軟鏈接(Symbolic Link):
軟鏈接也叫符號鏈接,軟鏈接文件有類似于Windows的快捷方式。它實際上是一個特殊的文件(可以是也難以文件或目錄,可以鏈接不同系統的文件)。在軟鏈接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。
建立軟鏈接語法: ln -s filename [linkname]
硬鏈接與軟鏈接之間的區別:
1.硬鏈接原文件/鏈接文件公用一個inode號,說明他們是同一個文件,而軟鏈接原文件/鏈接文件擁有不同的inode號,表明他們是兩個不同的文件;
2.在文件屬性上軟鏈接明確寫出了是鏈接文件,而硬鏈接沒有寫出來,因為在本質上硬鏈接文件和原文件是完全平等關系;
3.鏈接數目是不一樣的,軟鏈接的鏈接數目不會增加;
4.文件大小是不一樣的,硬鏈接文件顯示的大小是跟原文件是一樣的。而這里軟鏈接顯示的大小與原文件就不同了。
5.總之,建立軟鏈接就是建立了一個新文件。當訪問鏈接文件時,系統就會發現他是個鏈接文件,它讀取鏈接文件找到真正要訪問的文件。 當然軟鏈接也有硬鏈接沒有的缺點,因為鏈接文件包含有原文件的路徑信息,所以當原文件從一個目錄下移到其他目錄中,再訪問鏈接文件,系統就找不到了,而硬鏈接就沒有這個缺陷;還有軟鏈接要系統分配額外的空間用于建立新的索引節點和保存原文件的路徑。
原創文章,作者:changge,如若轉載,請注明出處:http://www.www58058.com/53009