linux 系統中有軟鏈結和硬鏈結兩種特殊的「檔案」。
1) 硬鏈結檔案跟原始檔擁有相同的i(inode)節點和儲存block塊,
它們可以看作是同乙個檔案。
2) 可通過i節點進行識別(i節點相同)。
3) 鏈結檔案和原始檔必須在相同的分割槽,不能跨分割槽。
3) 不能針對目錄建立硬鏈結。
(這個雖然linux ln命令幫助說明裡說可以用"ln -d"建立目錄的硬鏈結,
但是本人實測不可行,本人在網上搜尋出來了一段詳細解釋說明,
具體說明請看文章最下邊的"特別說明"。)
4) 修改任意乙個檔案,另外乙個檔案的內容都會改變。
5) 當原始檔被刪除時,硬鏈結檔案還可以正常使用。
1) 軟鏈結檔案作用跟windows系統的快捷方式作用相同。
2) 軟鏈結擁有自己的i節點和儲存block塊,
但是此資料塊中儲存的資訊是原始檔的i節點和檔名資訊,
並不會儲存實際的檔案資料內容。
3) 用"ll"命令檢視時,軟鏈結檔案前面都是"lrwxrwxrwx",
其中第一位的字母"l"即表示此檔案為軟鏈結檔案,
軟鏈結檔案的真實許可權取決於原始檔的許可權。
4) 修改任意乙個檔案,另外乙個檔案的內容都會改變。
5) 當原始檔被刪除時,軟鏈結檔案將不能使用。
1. 命令格式:
ln [選項] 原始檔或目錄 目標檔案或目錄
2. 常用選項:
"ln -b" 如果目標目錄中已經有同名的檔案,那麼在覆蓋之前先進行備份
"ln -f" 如果目標目錄中已經有同名的檔案,無需提示,直接覆蓋
"ln -i" 人機互動,如果目標目錄中已經有同名的檔案,則提示是否進行覆蓋
"ln -s" 建立軟鏈結
"ln -v" 詳細顯示操作進行的步驟。(v為verbose的意思)
3. 常用範例:
1) 建立乙個硬鏈結檔案。
2) 建立乙個軟鏈結檔案。
3) 建立乙個硬鏈結檔案,如果目標目錄中已經有同名檔案,覆蓋前先進行備份。
4) 給目錄建立乙個軟鏈結。
5) "ln -n" 命令例項說明。
6) 建立軟鏈結失敗例項說明
特別說明:
1) 建立軟鏈結時,如果軟鏈結檔案跟原始檔不在同乙個目錄,那麼原始檔位址必須為絕對路徑,否則建立出來的軟鏈結
無法使用。
至於第乙個限制,很好理解,而第二個就不那麼好理解了。 我們對任何乙個目錄用ls -l 命令都可以看到其連線數至少
是2,這也說明了系統中是存在硬連線的,而且命令ln -d 也可以讓超級使用者對目錄作硬連線,這些都說明了系統限制對
目錄進行硬連線只是乙個硬性規定,並不是邏輯上不允許或技術上的不可行。那麼作業系統為什麼要進行限制呢?如果引
入了對目錄的硬連線就有可能在目錄中引入迴圈,那麼在目錄遍歷的時候系統就會陷入無限迴圈當中。也許您會說,符號
連線不也可以引入迴圈嗎,那麼為什麼不限制目錄的符號連線呢?原因就在於在linux系統中,每個檔案(目錄也是檔案)
都對應著乙個inode結構,其中inode資料結構中包含了檔案型別(目錄,普通檔案,符號連線檔案等等)的資訊,也就是
說作業系統在遍歷目錄時可以判斷出符號連線,既然可以判斷出符號連線當然就可以採取一些措施來防範進入過大的迴圈
了,系統在連續遇到8個符號連線後就停止遍歷,這就是為什麼對目錄符號連線不會進入死迴圈的原因了。但是對於硬連線
,由於作業系統中採用的資料結構和演算法限制,目前是不能防這種死迴圈的。"
ln命令 軟鏈結和硬鏈結
1.軟連線 軟鏈結又叫符號鏈結,這個檔案包含了另乙個檔案的路徑名。可以是任意檔案或目錄,可以鏈結不同檔案系統的檔案 類似於windows的快捷方式 2.硬鏈結 所謂鏈結無非是把檔名和計算機檔案系統使用的節點號鏈結起來。因此我們可以用多個檔名與同乙個檔案進行鏈結,這些檔名可以在同一目錄或不同目錄 這樣...
ln命令(硬鏈結和軟鏈結)
linux 下的硬鏈結 軟鏈結 軟鏈結軟連線主要目的是公升級之後向前相容。軟鏈結相當於快捷方式。當我刪除原始檔之後,後面的檔案就找不到前面的檔案了。軟連線相當於 a b b inode.例子 軟連線的建立 ln s libiptc.so.0.0.0 libip6tc.so.0 原來的庫是libip6...
ln命令 硬連線和軟連線
ln命令 指令名稱 ln 使用許可權 所有使用者 使用方式 ln options source dist,其中 option 的格式為 bdfinsvf s backup suffix v help version ln source dist 是產生乙個鏈結 dist 到 source,至於使用硬...