linux系統有有軟連接和硬連接兩種,所謂軟連接相似於windows系統中的快捷方式,源文件若是被刪除,軟連接將失敗。而硬連接則不一樣,即便源文件被刪除,文件依舊存在,這是爲何呢?下面我就爲你們簡單說明一下其中的緣由:
node
軟連接:linux
這是我畫的一張linux存儲文件的簡易圖,軟連接的鏈接道理是,在inode表中,存放指針位置並不是是指針,而是存放着一個文件的元數據路徑,經過路徑找到文件元數據,再找到文件自己。例如:/root/1爲原文件,/root/2爲軟連接文件windows
第一行爲inode號,這兩個文件擁有不一樣的inode號,2文件的文件大小爲1字節,這一個字節中寫的是「1」,也就是鏈接文件的名字,若是鏈接文件的名字叫123,那此處就會是3個字節。ide
軟連接的特色:spa
軟連接有本身的文件屬性及權限等;指針
可對不存在的文件或目錄建立軟連接;orm
軟連接可交叉文件系統;blog
軟連接可對文件或目錄建立;get
建立軟連接時,連接計數 i_nlink 不會增長;it
刪除軟連接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟鏈接被稱爲死連接(即 dangling link,若被指向路徑文件被從新建立,死連接可恢復爲正常的軟連接)。
硬連接:
硬連接的道理是,不一樣的文件擁有同一個的inode號碼,一個inode號碼能夠擁有不一樣的文件名,但所保存的數據只有一份。若是其中的一個文件名被刪除,僅僅是切斷文件名和inode號的關聯,對其餘連接和數據並不形成影響。
這兩個文件擁有相同的inode號,包括權限大小也都相同,這就是硬連接。
硬連接的特色:
文件有相同的 inode 及 data block;
只能對已存在的文件進行建立;
不能交叉文件系統進行硬連接的建立;
不能對目錄進行建立,只可對文件建立;
刪除一個硬連接文件並不影響其餘有相同 inode 號的文件。
建立軟連接的方法:
ln -s TARGET LINK_NAME
建立硬連接的方法
ln TARGET LINK_NAME
-f : 鏈結時先將與 dist 同檔名的檔案刪除
-d : 容許系統管理者硬鏈結本身的目錄
-i : 在刪除與 dist 同檔名的檔案時先進行詢問
-n : 在進行軟連結時,將 dist 視爲通常的檔案
-s : 進行軟鏈結(symbolic link)
-v : 在連結以前顯示其檔名
-b : 將在鏈結時會被覆寫或刪除的檔案進行備份
-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾
-V METHOD : 指定備份的方式
--help : 顯示輔助說明
--version : 顯示版本