軟連線和硬鏈結

2021-09-13 03:00:40 字數 1434 閱讀 3214

軟連線和硬鏈結是面試linux方面的時候,比較容易問到的乙個問題,雖然比較簡單,但是總是容易搞不清楚二者之間真正的區別在**,下面就來詳細的解釋一下二者之間的異同:

windows中的快捷方式,大家都比較熟悉,就像我們最常作的乙個操作就是安裝了乙個windows軟體,將軟體的啟動檔案複製,然後以快捷方式的格式貼上到桌面,這時候我們只需要雙擊桌面上的圖示就可以啟動這個軟體了。同樣,linux中的快捷方式就是連線檔案

向上面這種使用ll命令檢視檔案的長格式的時候,在檔案許可權的最前面第乙個字元就表示了,這個檔案屬於什麼型別的檔案。

如何判斷乙個檔案是連線檔案?

同樣下面圖中的連線檔案也是一樣的,只不過上圖是給普通檔案建立的連線檔案,下圖是給乙個目錄建立的檔案。

那麼我們檢視sxjy目錄中的內容和/home/ss目錄下的內容是一致的

軟連線和硬鏈結的建立方式:

實質:乙個檔案對應多個檔名

軟連線:

檔案型別和許可權肯定是lrwxrwxrwx

實質:軟連線是建立了乙個新的檔案,並且擁有自己的inode號,通過這個inode號找到另外乙個檔名,

再通過這個檔名找到其inode號,再通過inode號找到檔案內容(資料)

軟連線兩個檔案的inode號不同
區別:

除了上面建立軟連線、硬鏈結時候的區別之外,其二者之間最大的區別就是刪除原檔案後,連線檔案是否仍然生效的問題。

因為linux系統檢視檔案內容的過程就是通過檔名找到其inode,然後再從block中找到對應inode的資料塊,從而輸出資料到螢幕上
硬鏈結硬鏈結是乙個inode對應多個檔案,也就是多個鏈結檔案的inode都是相同的,那麼當我們不論刪除原始檔還是其中的連線檔案的時候,通過剩下的連線檔案就可以訪問到原來的資料,因為inode都是一樣的。

軟連線

軟連線獲取原始檔內容(資料)的過程是:

最後補充一點,軟連線、硬鏈結都不要檔案系統,也就是說,連線檔案和原始檔最好都在同乙個檔案系統中;目錄只能建立軟連線,不能建立硬鏈結。

附:

查詢檔案inode的方法:

硬鏈結和軟連線

本系列將學習過程中遇到的命令整理一下,留作備查和複習使用。今天將重點介紹linux中硬鏈結和軟連線,其中會涉及到索引節點 inode 以及cp命令,rm命令,mv命令在執行的過程中對inode的影響。只不過在linux 檔案系統的節點表中,不僅僅儲存了該檔案的節點資訊,同時還儲存了該檔案的元資料,也...

軟連線和硬鏈結

硬鏈結 軟連線 1.使用限制 硬鏈結必須是在同乙個檔案系統下,不能對目錄進行鏈結 軟鏈結可以跨檔案系統 可以對不存在的檔案進行鏈結 可以對目錄進行鏈結 2.磁碟利用率 硬鏈結使用的是同乙個i節點,指向同乙個資料塊,並不會複製檔案,所以硬鏈結是不占用磁碟空間,類似語言中的引用 3.檔案刪除 硬鏈結建立...

軟連線和硬鏈結

1 類似建立windows的快捷方式 2 建立軟連線 ln s 3 檔案和目錄都可以做軟連線 4 刪除軟連線不影響原始檔 5 刪除原始檔軟連線失效 6 inode號碼不同 7 檔案的型別不同 和l 8 最好使用絕對路徑 root oldboy lnb ln s etc hosts test.host...