1. 程式人生 > >linux的軟鏈接和硬連接的區別

linux的軟鏈接和硬連接的區別

參數 硬件 ado node 不存在 and 不能 sta 硬鏈接

為解決文件的共享使用,Linux 系統引入了兩種鏈接:硬鏈接 與軟鏈接。鏈接為 Linux 系統解決了文件的共享使用,還帶來了隱藏文件路徑、增加權限安全及節省存儲等好處。若一個 inode 號對應多個文件名,則稱這些文件為硬鏈接。換言之,硬鏈接就是同一個文件使用了多個別名。鏈接可由命令 ln 創建。

文字描述:
描述Linux下軟鏈接和硬鏈接的區別
在Linux系統中,鏈接分為兩種,一種是硬鏈接(hard link),另一種稱為符號鏈接或軟鏈接(soft link 或symbolic Link)。
①創建:
默認不帶參數的情況下,ln創建的是硬鏈接,帶-s參數的ln命令創建的是軟鏈接。
ln命令不能對目錄創建硬鏈接,但可以創建軟鏈接。對目錄的軟鏈接會經常使用到。

可對不存在的文件或目錄創建軟鏈接,不能創建硬鏈接。
②關於inode:
硬鏈接文件與源文件的inode節點號相同,而軟鏈接文件的inode節點號,與源文件不同,
③刪除:
刪除軟鏈接文件,對源文件和硬鏈接文件無任何影響。
刪除文件的硬鏈接文件,對源文件及軟鏈接文件無任何影響。
刪除鏈接文件的源文件,對硬鏈接文件無影響,會導致其軟鏈接失效(紅底白字閃爍狀)。
同時刪除源文件及其硬鏈接文件,整個文件才會被真正的刪除。
④很多硬件設備的快照功能,使用的就是類似硬鏈接的原理。
⑤軟鏈接可以跨文件系統,硬鏈接不可以跨文件系統。

驗證:
①創建鏈接
[root@luc ~]# mkdir test
[root@luc ~]# cd test/

存在文件
[root@luc test]# echo source111 >> test_link
[root@luc test]# ln -s test_link link_soft
[root@luc test]# ln test_link link_hard
存在目錄
技術分享圖片
不存在文件創建軟硬鏈接
技術分享圖片
②關於inode
技術分享圖片
源文件和硬鏈接的inode號是一樣的都是16784637
和軟件鏈接的不一樣
③刪除
刪除軟鏈接和硬鏈接,對源文件沒有任何影響
技術分享圖片
刪除源文件,軟鏈接失效
技術分享圖片
補充:
修改任何鏈接都會修改源文件
技術分享圖片
技術分享圖片

共勉:I hear and I forget. I see and I remember. I do and I understand!

linux的軟鏈接和硬連接的區別