Linux軟連線和硬鏈結

2021-09-08 17:57:01 字數 1695 閱讀 2681

itech

出處:1.linux鏈結概念

linux鏈結分兩種,一種被稱為硬鏈結(hard link),還有一種被稱為符號鏈結(symbolic link)。預設情況下,ln命令產生硬鏈結。

【硬連線】

硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案無論是什麼型別都給它分配乙個編號,稱為索引節點號(inode index)。

在linux中。多個檔名稱指向同一索引節點是存在的。一般這樣的連線就是硬連線。硬連線的作用是同意乙個檔案擁有多個有效路徑名,這樣使用者就能夠建立硬連線到關鍵檔案,以防止「誤刪」的功能。其原因如上所述。由於相應該資料夾的索引節點有乙個以上的連線。僅僅刪除乙個連線並不影響索引節點本身和其他的連線,僅僅有當最後乙個連線被刪除後。檔案的資料塊及資料夾的連線才會被釋放。也就是說,檔案真正刪除的條件是與之相關的全部硬連線檔案均被刪除。

【軟連線】

第二種連線稱之為符號連線(symbolic link)。也叫軟連線。軟鏈結檔案有類似於windows的快捷方式。它實際上是乙個特殊的檔案。在符號連線中。檔案實際上是乙個文字檔案,當中包括的有還有一檔案的位置資訊。

2.通過實驗加深理解

[oracle@linux]$ touch f1          #建立乙個測試檔案f1

[oracle@linux]$ ln f1 f2          #建立f1的乙個硬連線檔案f2

[oracle@linux]$ ln -s f1 f3       #建立f1的乙個符號連線檔案f3

[oracle@linux]$ ls -li            # -i引數顯示檔案的inode節點資訊

total 0

9797648 -rw-r--r--  2 oracle oinstall 0 apr 21 08:11 f1

9797648 -rw-r--r--  2 oracle oinstall 0 apr 21 08:11 f2

9797649 lrwxrwxrwx  1 oracle oinstall 2 apr 21 08:11 f3 -> f1

從上面的結果中能夠看出。硬連線檔案f2與原檔案f1的inode節點同樣,均為9797648。然而符號連線檔案的inode節點不同。

[oracle@linux]$ echo "i am f1 file" >>f1

[oracle@linux]$ cat f1

i am f1 file

[oracle@linux]$ cat f2

i am f1 file

[oracle@linux]$ cat f3

i am f1 file

[oracle@linux]$ rm -f f1

[oracle@linux]$ cat f2

i am f1 file

[oracle@linux]$ cat f3

cat: f3: no such file or directory

通過以上測試能夠看出:當刪除原始檔案f1後,硬連線f2不受影響。可是符號連線f1檔案無效

3.總結

依此您能夠做一些相關的測試,能夠得到下面所有結論:

1).刪除符號連線f3,對f1,f2無影響;

2).刪除硬連線f2,對f1,f3也無影響。

3).刪除原檔案f1,對硬連線f2沒有影響。導致符號連線f3失效;

4).同一時候刪除原檔案f1,硬連線f2,整個檔案會真正的被刪除。

完!

linux軟連線和硬鏈結

一 鏈結檔案 鏈結有兩種方式,軟鏈結和硬鏈結。1 軟鏈結檔案 軟鏈結又叫符號鏈結,這個檔案包含了另乙個檔案的路徑名。可以是任意檔案或目錄,可以鏈結不同檔案系統的檔案。鏈結檔案甚至可以鏈結不存在的檔案,這就產生一般稱之為 斷鏈 的問題 或曰 現象 鏈結檔案甚至可以迴圈鏈結自己。類似於程式語言中的遞迴。...

linux軟連線和硬鏈結

一 鏈結檔案 鏈結有兩種方式,軟鏈結和硬鏈結。1 軟鏈結檔案 軟鏈結又叫符號鏈結,這個檔案包含了另乙個檔案的路徑名。可以是任意檔案或目錄,可以鏈結不同檔案系統的檔案。鏈結檔案甚至可以鏈結不存在的檔案,這就產生一般稱之為 斷鏈 的問題 或曰 現象 鏈結檔案甚至可以迴圈鏈結自己。類似於程式語言中的遞迴。...

Linux軟連線和硬鏈結

原部落格 1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,...