Linux軟鏈接和硬鏈接文件

下面是Linux系統軟件底層的存儲結構,我們將從底層上來去解釋Linux系統下的軟硬連接文件

wKiom1edrt6B6rLdAAD9fsgEwXs119.png

<一>: 解釋(底層)

硬鏈接,其實從底層數據上來看, 硬鏈接其實就是增加了一個目錄項。底層對應的inode table、數據區中的值是不變的, 也不會重新創建。

軟鏈接, 其實從底層接上看, 軟鏈接其實就是相當於重新創建了一個文件,, 無論是目錄項,inode table,以及數據區都是重新重建的,而這個文件功能比較特殊, 它是用來指向另外一個文件的。

<二>:命令的使用

硬鏈接命令:

ln    用來創建鏈接  link英文單詞的縮寫

ln  默認添加的就是硬鏈接

ln 文件名 鏈接名

wKiom1edsQ2D7uUjAAA_J938Z38307.png

創建3個硬鏈接,3個硬鏈接的底層的id號是一樣的, 所以這三個文件指向的inode號表示一樣的, 創建的文件其實只是在目錄項中添加一項。


軟鏈接命令:

ln -s 文件名  鏈接名  //  只需要加一個 -s 選項

wKiom1edsnixhIxGAABJ6rpIM9U947.png

創建2個軟鏈接,2個軟鏈接的底層的id號是不一樣的,所以這兩個文件底層的對應inode表以及數據塊區都是不同的。


軟鏈接和硬鏈接的區別

硬鏈接是不允許跨文件系統建立的

軟連接是可以跨文件系統建立的

硬鏈接是不允許給目錄文件建立

軟鏈接是允許給目錄文件建立


軟鏈接和硬鏈接的注意事項:

在建立軟鏈接的時候, 有一個相對的路徑的問題

ln -s 原始文件的相對路徑(相對於軟鏈接文件的路徑) 軟鏈接文件

ln -s 文件名  連接名

如果這裏的文件名是相對路徑的時候, 這裏相對的是鏈接名所在的目錄, 所以你要根據鏈接名所在的目錄, 來重新寫文件名所在的路徑。

爲了防止建立軟鏈接時出錯, 文件名要寫成絕對路徑。這樣肯定就錯不了。

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