linux下軟鏈結與硬鏈結的區別

2021-08-17 22:06:18 字數 1009 閱讀 7498

linux系統中鏈結檔案分為硬鏈結和軟鏈結(軟鏈結也叫符號鏈結)。

1.硬鏈結是建立乙個指向block的inode,有防止誤刪除的功能。因為刪除乙個檔案,實際上是刪除inode資訊,切斷了inode與block之間的聯絡。當給乙個檔案做了硬鏈結之後,刪除檔案時,只會減少檔案的鏈結數,當鏈結數為0時,才會徹底刪除該檔案。

軟鏈結類似windows系統的快捷方式,是乙個完整的檔案,有自己的inode和block,block的內容就是原檔案的檔名。當原檔案刪除後,軟鏈結就失效了,沒有防止誤刪除的功能。

2.檔案的大小不一樣。由於硬鏈結是指向原檔案的block,所以硬鏈結的檔案大小和原檔案大小是一致的。而軟鏈結是新的檔案,block裡是原檔案的的檔名,所以軟鏈結檔案的大小一般是4k,即乙個block的大小.硬鏈結建立時原始檔必須存在,而軟鏈結建立時原始檔則可以不存在

3.不能對目錄建立硬鏈結,但是可以對目錄建立軟鏈結 硬鏈結不能跨區建立而軟連線可以。

4.硬鏈結檔案顯示鏈結 l,軟鏈結檔案不顯示鏈結 l ;硬鏈結的鏈結檔案的擁有者,群組,其他,鏈結數,大小,建立時間都與原始檔保持一致,更改其中乙個檔案則都會改變,而軟鏈結則都與原始檔不保持,且不會受牽制

ln file newfile #file為原檔名,newfile為新檔名。

ln –s file newfile #file為原檔名,newfile為新檔名。

( 1 )軟連線可以跨檔案系統,硬連線不可以

( 2 )硬連線不管有多少個,都指向的是同乙個 i 節點,會把結點連線數增加,只要結點的連線數不是 0 ,檔案就一直存在不管你刪除的是原始檔還是連線的檔案。只要有乙個存在檔案就存在。 當你修改原始檔或者連線檔案任何乙個的時候,其他的檔案都會做同步的修改。軟鏈結不直接使用 i 節點號作為檔案指標 , 而是使用檔案路徑名作為指標。所以刪除連線檔案對原始檔無影響,但是刪除原始檔,連線檔案就會找不到要指向的檔案。軟鏈結有自己的 i 節點 , 並在磁碟上有一小片空間存放路徑名。

( 3 )軟連線可以對乙個不存在的檔名進行連線 。

( 4 )軟連線可以對目錄進行連線。

linux下軟鏈結與硬鏈結

硬鏈結 給檔案做替身,可以刪除兩個檔案中的任意乙個檔案,不受影響 目錄不能夠做目錄的硬鏈結 只能在同乙個分割槽下做硬鏈結,跨分割槽不行 使用方法 ln i root 1.txt tmp 2.txt 給root下的1.txt做乙個硬鏈結,連線到tmp下的2.txt 軟鏈結相當於桌面上的快捷方式 可以跨...

linux 下的硬鏈結與軟鏈結

在linux系統中,核心為每乙個新建立的檔案分配乙個inode 索引結點 每個檔案都有乙個惟一的inode號。檔案屬性儲存在索引結點裡,在訪問檔案時,索引結點被複製到記憶體,從而實現檔案的快速訪問。linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic l...

linux硬鏈結與軟鏈結

1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...