linux軟鏈接、硬鏈接

一.Linux系統硬鏈接和軟鏈接
在linux系統中有種文件是鏈接文件,可以爲解決文件的共享使用。鏈接的方式可以分爲兩種,一種是硬鏈接(Hard Link),另一種是軟鏈接或者也稱爲符號鏈接(Symbolic Link)。

查看bin下面的文件

$ cd /bin
$ ls -l

linux軟鏈接、硬鏈接

上圖文件列表中第一列權限位標識第一個字符顯示的是文件類型

-:爲一般文件
d:爲目錄
l:顯示的就是鏈接文件

直接讀取所有的鏈接,所有的位標識字符位l

$ cd /bin
$ ls -alR | grep ^l

linux軟鏈接、硬鏈接

二.軟鏈接硬鏈接區別
參考網址
Linux 文件被分成兩個部分:用戶數據 (user data) 與元數據 (metadata)

用戶數據,即文件數據塊 (data block),數據塊是記錄文件真實內容的地方;
元數據,是文件的附加屬性,如文件大小、創建時間、所有者等信息。

在 Linux 中,元數據中的 inode 號(inode 是文件元數據的一部分但其並不包含文件名,inode 號即索引節點號)纔是文件的唯一標識而非文件名。文件名僅是爲了方便人們的記憶和使用,系統或程序通過 inode 號尋找正確的文件數據塊。

linux軟鏈接、硬鏈接

爲解決文件的共享使用,Linux 系統引入了兩種鏈接
硬鏈接(Hard Link)
軟鏈接(Soft Link),又稱符號鏈接(Symbolic Link)
可以看出
linux軟鏈接、硬鏈接
硬鏈接:一個 inode 號對應多個文件名,或者說同一個文件使用了多個別名
軟鏈接:文件用戶數據塊中存放的內容是另一文件的路徑名的指向,則該文件就是軟連接

區別
(1)對象不同
硬鏈接:只能應用於文件,而不能應用於目錄,而且不能跨文件系統(即分區)。

軟鏈接:可以應用於文件,而且可以應用於目錄和可跨文件系統(分區)。
(2)作用原理
硬鏈接:一個 inode 號對應多個文件名,如果刪除其中任何一個文件,另外一個文件還能連接數據塊,還是有效的文件,只是對應的inode節點號減少,其它並無影響。只有inode節點號減少到0,數據塊纔會被系統回收,即硬鏈接文件和原文件其實是同一個文件,只是名字不同

軟鏈接:假如說A文件是B文件的軟連接文件,則A和B的inode節點號不同,每創建一個新的軟鏈接,就會有一個新的節點號。而A的數據塊中存放的只是B的路徑名(可以根據這個找到B的目錄項)。A和B之間是“主從”關係,如果B被刪除了,A仍然存在(因爲兩個是不同的文件),但指向的是一個無效的鏈接。

二.軟鏈接、硬鏈接使用
(1)創建方法

軟鏈接(符號鏈接) ln -s source target
硬鏈接 (實體鏈接)ln source target

創建test_link文件夾,並在裏面創建 infile文件
linux軟鏈接、硬鏈接

創建目錄A,硬鏈接不能指向目錄
linux軟鏈接、硬鏈接

軟連接可以,如

$ ln -s A infile_name

linux軟鏈接、硬鏈接

(2)刪除方法

linux軟鏈接、硬鏈接

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