一.Linux系統硬連接和軟連接
在linux系統中有種文件是連接文件,能夠爲解決文件的共享使用。連接的方式能夠分爲兩種,一種是硬連接(Hard Link),另外一種是軟連接或者也稱爲符號連接(Symbolic Link)。node
查看bin下面的文件linux
$ cd /bin $ ls -l
上圖文件列表中第一列權限位標識第一個字符顯示的是文件類型segmentfault
-:爲通常文件 d:爲目錄 l:顯示的就是連接文件
直接讀取全部的連接,全部的位標識字符位lide
$ cd /bin $ ls -alR | grep ^l
二.軟連接硬連接區別
參考網址
Linux 文件被分紅兩個部分:用戶數據 (user data) 與元數據 (metadata)code
用戶數據,即文件數據塊 (data block),數據塊是記錄文件真實內容的地方;
元數據,是文件的附加屬性,如文件大小、建立時間、全部者等信息。對象
在 Linux 中,元數據中的 inode 號(inode 是文件元數據的一部分但其並不包含文件名,inode 號即索引節點號)纔是文件的惟一標識而非文件名。文件名僅是爲了方便人們的記憶和使用,系統或程序經過 inode 號尋找正確的文件數據塊。blog
爲解決文件的共享使用,Linux 系統引入了兩種連接
硬連接(Hard Link)
軟連接(Soft Link),又稱符號連接(Symbolic Link)
能夠看出
硬連接:一個 inode 號對應多個文件名,或者說同一個文件使用了多個別名
軟連接:文件用戶數據塊中存放的內容是另外一文件的路徑名的指向,則該文件就是軟鏈接索引
區別
(1)對象不一樣
硬連接:只能應用於文件,而不能應用於目錄,並且不能跨文件系統(即分區)。get
軟連接:能夠應用於文件,並且能夠應用於目錄和可跨文件系統(分區)。
(2)做用原理
硬連接:一個 inode 號對應多個文件名,若是刪除其中任何一個文件,另一個文件還能鏈接數據塊,仍是有效的文件,只是對應的inode節點號減小,其它並沒有影響。只有inode節點號減小到0,數據塊纔會被系統回收,即硬連接文件和原文件實際上是同一個文件,只是名字不一樣it
軟連接:假如說A文件是B文件的軟鏈接文件,則A和B的inode節點號不一樣,每建立一個新的軟連接,就會有一個新的節點號。而A的數據塊中存放的只是B的路徑名(能夠根據這個找到B的目錄項)。A和B之間是「主從」關係,若是B被刪除了,A仍然存在(由於兩個是不一樣的文件),但指向的是一個無效的連接。
二.軟連接、硬連接使用
(1)建立方法
軟連接(符號連接) ln -s source target
硬連接 (實體連接)ln source target
建立test_link文件夾,並在裏面建立 infile文件
建立目錄A,硬連接不能指向目錄
軟鏈接能夠,如
$ ln -s A infile_name
(2)刪除方法