硬鏈接與軟鏈接的對比分析
硬鏈接,即一個文件可以用同一個節點編號卻使用多個文件名。這數個文件名之間是平等的關系。
例:我在centos6.9的虛擬機上創建了一個文件f1(touch f1),然后以f1文件為舊文件建立一個名為f1.1的硬鏈接,再以文件f1.1創建一個名為f1.2的硬鏈接。接著我在f1文件中寫入內容,如下圖所示,三個文件中內容是一樣的,通過觀察這三個文件的節點編號,我們可以發現,三個文件的節點編號是相同的,表示這三個文件其實只是同一個文件擁有著不同的文件名。
最后,我將文件f1刪除,但是文件f1.1以及文件f1.2的內容仍舊存在,說明了這三個文件名是平等的存在,并不是互相依存的。
注:1.硬鏈接不能跨分區建立,因為硬鏈接是基于文件本身的節點編號建立的,然而節點編號是以各個分區為單位進行單獨分配的,所以不同分區相同的節點編號不一定是同一文件。
2.硬鏈接不支持目錄創建,因為目錄本身并沒有節點編號,只有目錄之下的文件才擁有節點編號。
軟連接,也叫符號鏈接。與硬鏈接不同的是,軟鏈接與windows系統中快捷方式相似,所創建出的文件并不是源文件而是源文件的路徑。
例:我先建立一個文件f2,然后以文件f2為源文件建立軟鏈接文件f2_link,由下圖可知兩個文件顯現的內容是一樣的,但本身的大小卻不一樣,原因就是f2_link文件內存儲的并不是文件f2內的內容而是其路徑。而且兩個文件節點編號亦不相同證明了這是兩個文件,而不是像硬鏈接那樣一個文件使用多個文件名。
?注:軟鏈接因為與源文件是兩個文件所以節點編碼也不同,可以進行跨分區操作。
??? 2.軟鏈接因為只是記錄路徑所以可以對目錄進行創建。
軟、硬鏈接的區別:
1.?????? 本質區別:
硬鏈接:一個文件多個文件名;
軟鏈接:一個文件對應的快捷方式;(并不是同一個文件)
2.?????? 表面區別:
1)?????? 鏈接數:每創建一個硬鏈接會增長鏈接數,而軟鏈接不會;
2)?????? 跨分區:硬鏈接不支持跨分區,而軟鏈接支持跨分區;
3)?????? 目錄:硬鏈接不支持創建目錄,而軟鏈接支持創建目錄;
4)?????? 原始文件與鏈接文件的關系:硬鏈接文件之間關系平等、不互相依賴,而軟鏈接鏈接文件依賴于源文件;
5)?????? 刪除:硬鏈接刪除源文件不會影響鏈接文件的使用,而軟鏈接刪除源文件后鏈接文件會失效;
6)?????? 大小:硬鏈接的大小源自于源文件的大小,而軟鏈接的大小源自于源文件路徑的大小。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
原創文章,作者:西行,如若轉載,請注明出處:http://www.www58058.com/95137