下面是Linux系統軟件底層的存儲結構,咱們將從底層上來去解釋Linux系統下的軟硬鏈接文件node
<一>: 解釋(底層)
ide
硬連接,其實從底層數據上來看, 硬連接其實就是增長了一個目錄項。底層對應的inode table、數據區中的值是不變的, 也不會從新建立。spa
軟連接, 其實從底層接上看, 軟連接其實就是至關於從新建立了一個文件,, 不管是目錄項,inode table,以及數據區都是從新重建的,而這個文件功能比較特殊, 它是用來指向另一個文件的。blog
<二>:命令的使用圖片
硬連接命令:get
ln 用來建立連接 link英文單詞的縮寫it
ln 默認添加的就是硬連接io
ln 文件名 連接名table
建立3個硬連接,3個硬連接的底層的id號是同樣的, 因此這三個文件指向的inode號表示同樣的, 建立的文件其實只是在目錄項中添加一項。class
軟連接命令:
ln -s 文件名 連接名 // 只須要加一個 -s 選項
建立2個軟連接,2個軟連接的底層的id號是不同的,因此這兩個文件底層的對應inode表以及數據塊區都是不一樣的。
軟連接和硬連接的區別
硬連接是不容許跨文件系統創建的
軟鏈接是能夠跨文件系統創建的
硬連接是不容許給目錄文件創建
軟連接是容許給目錄文件創建
軟連接和硬連接的注意事項:
在創建軟連接的時候, 有一個相對的路徑的問題
ln -s 原始文件的相對路徑(相對於軟連接文件的路徑) 軟連接文件
ln -s 文件名 鏈接名
若是這裏的文件名是相對路徑的時候, 這裏相對的是連接名所在的目錄, 因此你要根據連接名所在的目錄, 來從新寫文件名所在的路徑。
爲了防止創建軟連接時出錯, 文件名要寫成絕對路徑。這樣確定就錯不了。