linux鏈結分兩種,一種被稱為硬鏈結(hard link),另一種被稱為符號鏈結(symbolic link)。預設情況下,ln命令產生硬鏈結。
硬連線指通過索引節點來進行連線,硬連線的作用是允許乙個檔案擁有多個有效路徑名,這樣使用者就可以建立硬連線到重要檔案,以防止「誤刪」的功能。其原因如上所述,因為對應該目錄的索引節點有乙個以上的連線。只刪除乙個連線並不影響索引節點本身和其它的連線,只有當最後乙個連線被刪除後,檔案的資料塊及目錄的連線才會被釋放。也就是說,檔案真正刪除的條件是與之相關的所有硬連線檔案均被刪除。
硬連線的2個限制:
不允許給目錄建立硬鏈結
只有在同一檔案系統中的檔案之間才能建立鏈結。 即不同硬碟分割槽上的兩個檔案之間不能夠建立硬鏈結。這是因為硬鏈結是通過結點指向原始檔案的,而檔案的i-結點在不同的檔案系統中可能會不同。
[wzj@localhost ~]$ touch f1 #建立乙個測試檔案f1
[wzj@localhost ~]$ ln f1 f2 #建立f1的乙個硬連線檔案f2
[wzj@localhost ~]$ ln -s f1 f3 #建立f1的乙個符號連線檔案f3
總計 72
622794 -rw-rw-r-- 2 wzj wzj 0 01-12 21:59 f1
622794 -rw-rw-r-- 2 wzj wzj 0 01-12 21:59 f2
622796 lrwxrwxrwx 1 wzj wzj 2 01-12 22:00 f3 -> f1
從上面的結果中可以看出,硬連線檔案f2與原檔案f1的inode節點相同,均為622794,然而符號連線檔案的inode節點不同。
[wzj@localhost ~]$ echo "i am fi file" >>f1
[wzj@localhost ~]$ cat f1
i am fi file
[wzj@localhost ~]$ cat f2
i am fi file
[wzj@localhost ~]$ cat f3
i am fi file
[wzj@localhost ~]$ rm f1
[wzj@localhost ~]$ cat f2
i am fi file
[wzj@localhost ~]$ cat f3
cat: f3: 沒有那個檔案或目錄
通過上面的測試可以看出:當刪除原始檔案
,硬連線不受影響,但是符號連線會受影響
3.總結
1).刪除符號連線f3,對f1,f2無影響;
2).刪除硬連線f2,對f1,f3也無影響;
3).刪除原檔案f1,對硬連線f2沒有影響,導致符號連線f3失效;
4).同時刪除原檔案f1,硬連線f2,整個檔案會真正的被刪除
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的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...