硬連線與軟連線的區別

2021-05-22 04:30:32 字數 1405 閱讀 4231

知道了硬碟的大體結構之後,再來談談怎麼進行硬碟分割槽。進行硬碟分割的最小單位

是磁柱,分割完之後自然就是格式化(format)。在linux中進行格式化必須考慮block與

inode,block還好理解,它是磁碟可以記錄的最小單位,是由數個扇區組成,所以大小通常

為n*512bytes,例如4k。

那麼inode是什麼?block是記錄檔案內容資料的區域,inode則是記錄該檔案的屬性及

其放置在哪個block之內的資訊。所以,每個檔案都會占用乙個inode。當linux系統要查詢

某個檔案時,它會先搜尋inode table找到這個檔案的屬性及資料放置地點,然後再查詢資料

存放的block進而將資料取出。inode數量在一開始已被設定好,其設定方式通常是「硬碟大

小 / 乙個容量」,這個容量比block大一些較佳,例如剛才將block設為4k,那麼這個容量

可以設為8k左右。所以,一塊1gb的硬碟如果以8k大小劃分它的inode數,則會有131072

個inode。乙個inode的大小為128bytes,這樣,我們就可以清楚地知道,乙個分割槽被格式化

為乙個檔案系統之後,基本上它一定會有inode table與資料區域兩大塊,乙個用來記錄檔案

的屬性資訊與該檔案放置的block塊,乙個用來記錄檔案的內容。

鏈結(hard link)

剛才說過,當系統要讀取某個檔案時,它會先讀inode table,然後根據inode的資訊到

資料區域將資料取出備用。   硬鏈結就是再建立乙個inode鏈結到檔案放置的block塊。也就是

說,進行硬鏈結時,實際上您的檔案內容不會改變,只是在查詢時,利用原來的inode與後

來新增的inode均可指定到該檔案放置的地點,因此,讀取兩個inode的結果都是訪問同乙個

檔案的內容。不過,這樣一來就有個問題,因為inode會鏈結到block塊,而「目錄」本身僅

消耗inode,這樣,硬鏈結就不能鏈結目錄。所以,硬鏈結有兩個最大的限制:

1. 不能跨檔案系統,因為不同的檔案系統有不同的inode table;

2. 不能鏈結目錄。

軟鏈結(symbolic link)

我們把符號鏈結稱為軟鏈結,它是指向另乙個檔案的特殊檔案,這種檔案的資料部分僅包含它所要鏈結檔案的路徑名。軟鏈結是為了克服硬鏈結的不足而引入的,軟鏈結不直接使用inode

資料部分-->

目標檔案的路徑名 )。軟體有自己的inode ,並在磁碟上有一小片空間存放路徑名。因此,軟鏈結能夠跨檔案系統,也可以和目錄鏈結!其二,軟鏈結可以對乙個不存在的檔名進行鏈結,但直到這個名字對應的檔案被建立後,才能開啟其鏈結。

若原檔案刪除了,則該軟連線則不可以訪問,而硬連線則是可以的。

軟連線與硬連線

要弄清楚2者的區別,首先得明白linux系統中檔案是如何儲存的.在linux中儲存乙個檔案由3部分組成 檔名 inode block 資料塊 關於inode block用來儲存資料.而inode呢,就是用來儲存這些資料的資訊,這些資訊包括檔案大小,歸屬的使用者組,讀寫許可權等.inode為每個檔案進...

軟連線與硬鏈結區別

選項 s 建立軟鏈結檔案。如果不加 s 選項,則建立硬鏈結檔案 f 強制。如果目標檔案已存在,則刪除目標檔案後再建立鏈結檔案 ln 選項 所建立鏈結檔案 儲存鏈結位置 鏈結名 1 建立兩個硬鏈結 root localhost san ln root anaconda ks.cfg home san ...

硬連線和軟連線的區別

在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節點號inode 軟連線,其實就是新建立乙個檔案,這個檔案就是專門用來指向別的檔案的 那就和windows 下的快捷方式的那個檔案有很接近的意味 軟鏈結產生的是乙個新的檔案,但這個檔案的作用就是專門指向某個檔...