創建文件或目錄鏈接:ln

命令格式:ln [-s] 源文件或目錄 目標文件或目錄

參數說明:-s 創建軟鏈接

軟鏈接:-s(符合鏈接):單純的將目的文件指向源文件,因此當源文件被刪除時,目的文件也就不在了,相當於Windows下快捷方式。

硬鏈接:硬鏈接指通過索引節點來進行鏈接。在Linux的文件系統中,保存在磁盤分區中的文件不管是什麼類型都給它分配一個編號,稱爲索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點是存在的。一般這種鏈接就是硬鏈接。硬鏈接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬鏈接到重要文件,以防止“誤刪”的功能。其原因如上所述,因爲對應該目錄的索引節點有一個以上的鏈接。只刪除一個鏈接並不影響索引節點本身和其他鏈接,只有當最後一個鏈接被刪除後,文件的數據塊及目錄的鏈接纔會被釋放。也就是說,文件真正刪除的條件是與之相關的所有鏈接文件均被刪除。

補充說明:ln指令用於在連接文件或目錄,如果同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則會把前面指定的所有文件或目錄複製到該目錄中。若同時指定多個文件或目錄,且最後的目的地並非一個已經存在的目錄,則會出現錯誤信息。

實例一:ln /etc/passwd /home/passwd

對文件/etc/passwd創建一個硬鏈接passwd,放在/home目錄下

實例二:ln -s /etc/rc.d/init /home/init

對目錄/etc/rc.d/init創建一個軟鏈接init,存放在/home目錄下

經典例子:

從上面的結果可以看出,硬鏈接文件f2與原文件f1的inode節點相同,均爲36857582,然而符號鏈接文件的inode節點不同。

當刪除原文件f1後,硬鏈接f2不受影響,但是符號鏈接f1文件無效

小結:

1)刪除符號鏈接f3,對f1,f2無影響

2)刪除硬鏈接f2,對f1,f3無影響

3)刪除原文件f1,對硬鏈接f2無影響,導致符號鏈接f3失效

4)同時刪除原文件f1,硬鏈接f2,整個文件會真正的被刪除

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章