一、硬鏈結
ln 原檔案 目標檔案
注意:inode
要解釋清楚兩者的區別和聯絡需要先說清楚 linux 檔案系統中的 inode 這個東西。當劃分磁碟分割槽並格式化的時候,整個分割槽會被劃分為兩個部分,即inode區和data block(實際資料放置在資料區域中)這個inode即是(目錄、檔案)檔案在乙個檔案系統中的唯一標識,需要訪問這個檔案的時候必須先找到並讀取這個檔案的 inode。 inode 裡面儲存了檔案的很多重要引數,其中唯一標識稱作 inumber, 其他資訊還有建立時間(ctime)、修改時間(mtime) 、檔案大小、屬主、歸屬的使用者組、讀寫許可權、資料所在block號等資訊。
2. 硬鏈結檔案可以同一目錄,也可不同目錄下的檔案,但不能對目錄建立硬鏈結,而且不能跨卷,即在同乙個檔案系統中的檔案才能建立鏈結。
注意:linux下目錄也是檔案,只不過目錄是乙個用來存放檔案的特殊的檔案
3. 硬鏈結可以相當於指向同乙個inode的指標,刪除乙個指標原檔案不會刪除。
目錄的硬鏈結數目就該目錄下的目錄的數目。其中. 和.. 就是兩個目錄當前目錄和上層目錄
檔案的硬鏈結數目就是鏈結該檔案的數目
二、軟鏈結
,這個檔案包含了另乙個檔案的路徑名。解決了硬鏈結不能跨檔案系統鏈結的缺點。
ln -s
原檔案目標檔案
可以是任意檔案或目錄,可以跨卷,可以鏈結不同檔案系統的檔案。
3.軟鏈結相當於
windows
下面的快捷方式,鏈結可以
n級鏈結,相當於
n級指標,不佔記憶體。
缺點刪除原檔案,所有鏈結檔案失效。
區別:1.硬鏈結原檔案/鏈結檔案公用乙個inode號,說明他們是同乙個檔案,而軟鏈結原檔案/鏈結檔案擁有不同的inode號,表明他們是兩個不同的檔案;
2.在檔案屬性上軟鏈結明確寫出了是鏈結檔案,而硬鏈結沒有寫出來,因為在本質上硬鏈結檔案和原檔案是完全平等關係;
3.鏈結數目是不一樣的,軟鏈結的鏈結數目不會增加;
4.檔案大小是不一樣的,硬鏈結檔案顯示的大小是跟原檔案是一樣的。而這裡軟鏈結顯示的大小與原檔案就不同了,bbb大小是95b,而bbbsoft是3b。因為bbb共有3個字元
5.軟鏈結沒有任何檔案系統的限制,任何使用者可以建立指向目錄的符號鏈結
軟鏈結和硬鏈結
又叫符號鏈結,這個檔案包含了另乙個檔案的路徑名。可以是任意檔案或目錄,可以鏈結不同檔案系統的檔案。鏈結檔案甚至可以鏈結不存在的檔案,這就產生一般稱之為 斷鏈 的問題 或曰 現象 鏈結檔案甚至可以迴圈鏈結自己。類似於程式語言中的遞迴。軟連線的格式是 ln s 目標檔名 鏈結名 在對符號檔案進行讀或寫操...
硬鏈結和軟鏈結
1.linux 鏈結概念 linux 鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為 符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在 linux 的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,...
硬鏈結和軟鏈結
在linux中除了程序之外都是檔案,目錄是特殊的檔案,目錄記錄了其他檔案的檔名。linux檔案被分為兩部分 元資料 檔案的屬性資料 和使用者資料 實際的資料 在linux中通過檔名開啟檔案。檢視檔案的inode號可以使用stat或者ls i命令。軟連線和硬鏈結 硬鏈結是兩個檔名指向同乙個inode,...