linux鏈結分兩種,一種稱為硬鏈結(hard link),另一種稱為符號鏈結(symbolic link),預設情況下,ln命令產生硬鏈結;
硬鏈結指通過索引節點來進行鏈結,在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節點號(inode index)。在linux中,多個檔名指向同乙個索引節點是存在的,一般這種鏈結就是硬鏈結,硬鏈結的作用是允許乙個檔案擁有多個有效路徑名,這樣使用者就可以建立硬鏈結到重要檔案,以防止「誤刪」操作。其原因如上所述,因為對應該目錄的索引節點有乙個以上的連線,只刪除乙個鏈結不會影響索引節點本身和其他的鏈結,只有當最後乙個鏈結被刪除後,檔案的資料及目錄的鏈結才會被釋放。也就是說,檔案真正刪除的條件是與之相關的所有硬鏈結檔案均被刪除。
符號鏈結(symbolic link),也叫作軟鏈結,軟鏈結類似於windows的快捷方式,它實際上是一種特殊的檔案,在符號鏈結中,檔案實際上是乙個文字檔案,其中包含的有另乙個檔案的位置資訊。
這就是允許符號鏈結(經常寫成symlinks)指向其他分割槽、甚至是其他網路硬碟上的某個檔案。
[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
linux硬鏈結與軟鏈結
1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...
Linux 硬鏈結與軟鏈結
原貼 2007 08 05 10 19 49 linux硬鏈結與軟鏈結 2006 12 01 15 03 首先要弄清楚,在linux系統中,核心為每乙個新建立的檔案分配乙個inode 索引結點 每個檔案都有乙個惟一的inode號。檔案屬性儲存在索引結點裡,在訪問檔案時,索引結點被複製到內存在,從而實...
linux硬鏈結與軟鏈結
1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...