在Linux的檔案系統中,儲存在磁盤分區中的檔案不管是什麼類型都給它配置設定一個編号,稱為索引節點号inode 。
一、指令格式
#硬連接配接
ln 原檔案 連結檔案
#軟連接配接
ln -s 原檔案 連結檔案
二、詳細介紹
1、軟連接配接,其實就是建立立一個檔案,這個檔案就是專門用來指向别的檔案的(那就和windows 下的快捷方式的那個檔案有很接近的意味)。軟連結産生的是一個新的檔案,但這個檔案的作用就是專門指向某個檔案的,删了這個軟連接配接檔案,那就等于不需要這個連接配接,和原來的存在的實體原檔案沒有任何關系,但删除原來的檔案,則相應的軟連接配接不可用(cat那個軟連結檔案,則提示“沒有該檔案或目錄“)
2、硬連接配接是不會建立inode的,他隻是在檔案原來的inode link count域再增加1而已,也是以硬連結是不可以跨越檔案系統的。相反是軟連接配接會重建立立一個inode,當然inode的結構跟其他的不一樣,他隻是一個指明源檔案的字元串資訊。一旦删除源檔案,那麼軟連接配接将變得毫無意義。而硬連結删除的時候,系統調用會檢查inode link count的數值,如果他大于等于1,那麼inode不會被回收。是以檔案的内容不會被删除。
3、硬連結實際上是為檔案建一個别名,連結檔案和原檔案實際上是同一個檔案。可以通過ls -i或者ll -i來檢視一下,這兩個檔案的inode号是同一個,說明它們是同一個檔案;而軟連結建立的是一個指向,即連結檔案内的内容是指向原檔案的指針,它們是兩個檔案。
3、軟連結可以跨檔案系統,硬連結不可以;
4、軟連結可以對一個不存在的檔案名(filename)進行連結(當然此時如果你vi這個軟連結檔案,linux會自動建立一個檔案名為filename的檔案),硬連結不可以(其檔案必須存在,inode必須存在);
5、軟連結可以對目錄進行連接配接,硬連結不可以。