硬連線和軟連線的區別

2021-08-14 18:54:06 字數 792 閱讀 8336

在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節點號inode 。軟連線,其實就是新建立乙個檔案,這個檔案就是專門用來指向別的檔案的(那就和windows 下的快捷方式的那個檔案有很接近的意味)。軟鏈結產生的是乙個新的檔案,但這個檔案的作用就是專門指向某個檔案的,刪了這個軟連線檔案,那就等於不需要這個連線,和原來的存在的實體原檔案沒有任何關係,但刪除原來的檔案,則相應的軟連線不可用(cat那個軟鏈結檔案,則提示「沒有該檔案或目錄「)

硬連線是不會建立inode的,他只是在檔案原來的inode link count域再增加1而已,也因此硬鏈結是不可以跨越檔案系統的。相反都是軟連線會重新建立乙個inode,當然inode的結構跟其他的不一樣,他只是乙個指明原始檔的字串資訊。一旦刪除原始檔,那麼軟連線將變得毫無意義。而硬鏈結刪除的時候,系統呼叫會檢查inode link count的數值,如果他大於等於1,那麼inode不會被**。因此檔案的內容不會被刪除。

硬鏈結實際上是為檔案建乙個別名,鏈結檔案和原檔案實際上是同乙個檔案。可以通過ls -i來檢視一下,這兩個檔案的inode號是同乙個,說明它們是同乙個檔案;而軟鏈結建立的是乙個指向,即鏈結檔案內的內容是指向原檔案的指標,它們是兩個檔案。

軟鏈結可以跨檔案系統,硬鏈結不可以;軟鏈結可以對乙個不存在的檔名(filename)進行鏈結(當然此時如果你vi這個軟鏈結檔案,linux會自動新建乙個檔名為filename的檔案),硬鏈結不可以(其檔案必須存在,inode必須存在);軟鏈結可以對目錄進行連線,硬鏈結不可以。兩種鏈結都可以通過命令 ln 來建立。ln 預設建立的是硬鏈結。使用 -s 開關可以建立軟鏈結。

Linux 軟連線和硬連線的區別

linux中有軟連線和硬連線,他們之間的區別,今天簡單說一下 軟連線 類似於windows中的快捷方式,訪問軟連線實際上訪問的是實際的檔案。比方說我們建立乙個軟連線 s引數說明是軟連線 ln s test test.soft 硬連線 相當於對原檔案的乙個copy 同步更新 然後我們再建立乙個硬連線 ...

Linux 軟連線和硬連線的區別

linux中有軟連線和硬連線,他們之間的區別,今天簡單說一下 軟連線 類似於windows中的快捷方式,訪問軟連線實際上訪問的是實際的檔案。比方說我們建立乙個軟連線 1 2 s引數說明是軟連線 ln stesttest.soft 硬連線 相當於對原檔案的乙個copy 同步更新 然後我們再建立乙個硬連...

軟連線和硬連線

軟連線和硬鏈結的理解 linux檔案管理使用的是inode,任何乙個檔案或者是乙個資料夾,都是使用inode來管理檔案的。在檔案系統中,乙個檔案的基本資訊中就記錄了該檔案的inode資訊,在訪問乙個檔案的時候,系統找到這個檔名對應的inode號碼 其次,通過inode號碼,獲取inode資訊 最後,...