inode節點與硬鏈結概念詳解

2021-09-20 14:35:08 字數 1442 閱讀 5536

一、inode節點理解

inode(索引節點):儲存檔案元資訊的區域

扇區:在linux系統中,最小的儲存單位,通常為512位元組(0.5kb)

block:linux系統中檔案最小的訪問區域(作業系統讀取硬碟時,一次性連續讀取多個扇區,即一次性讀取乙個塊),每個塊中通常包含8個扇區,大小為4k

1、看完上面三個名詞的解釋後,再來看看inode的作用:

1.1、檔案資料在塊中(一次性可占用多個扇區,且最小占用乙個塊),那麼檔案的元資訊(建立者、建立日期、大小等)需要找乙個地方來儲存,這個儲存區域就是inode(俗稱索引節點),每個檔案都有乙個inode來儲存檔案的元資訊

1.2、一般inode節點中儲存有如下資訊:

* 檔案的位元組數

* 檔案擁有者的user id

* 檔案的group id

* 檔案的讀、寫、執行許可權

* 檔案的時間戳,共有三個:ctime指inode上一次變動的時間,mtime指檔案內容上一次變動的時間,atime指檔案上一次開啟的時間。

* 鏈結數,即有多少檔名指向這個inode

* 檔案資料block的位置

1.3、命令:stat  +  檔名,檢視某個檔案的inode資訊

1.4、inode大小:

inode也會消耗硬碟空間,所以硬碟格式化的時候,作業系統自動將硬碟分成兩個區域。乙個是資料區,存放檔案資料;另乙個是inode區(inode table),存放inode所包含的資訊。

每個inode節點的大小,一般是128位元組或256位元組。inode節點的總數,在格式化時就給定,一般是每1kb或每2kb就設定乙個inode。假定在一塊1gb的硬碟中,每個inode節點的大小為128位元組,每1kb就設定乙個inode,那麼inode table的大小就會達到128mb,佔整塊硬碟的12.8%。

檢視每個硬碟分割槽的inode總數和已經使用的數量,可以使用df命令。

2、再來看看linux系統讀取檔案的過程:

2.1、系統找到這個檔名對應的inode號碼

2.2、系統根據這個inode號碼讀取檔案的元資訊

2.3、根據inode資訊,找到檔案資料所在的block,讀出資料

二、硬鏈結概念理解

我們知道,一般情況下,檔名與inode是一一對應的關係(然而事實上系統只會識別檔案的inode號,而所謂的檔名不過是我們為inode定義的別名),但是在linux系統中,可以出現多個檔名對應乙個inode號的情況,這就是所謂的硬鏈結。

命令:ln   檔名1   檔名2

該命令便可以建立硬鏈結,這樣便使多個檔名對應乙個inode,如果修改其中乙個檔案的內容,其他的檔案內容會相應改變,但是如果刪除其中乙個檔案,則不影響另乙個檔案的訪問。

最後,我們可以通過刪除inode節點來刪除因為某些原因無法刪除的檔案

命令:  rm    `find   ./-inum   388666`

liliangchun

inode 及軟鏈結 硬鏈結

inode 用來儲存檔案的元資訊的索引節點。包括檔案的建立者 建立日期 檔案的大小等。linux下一切皆檔案,每個檔案都有其對應的inode。inode內容 檔案的位元組數 文i件擁有者的userid 檔案的groupid 檔案讀 寫 執行許可權 mtime 檔案內容上次變動的時間 atime 檔案...

Linux的inode 軟鏈結 硬鏈結

ln s myfile.txt mylink 建立符號鏈結,即軟鏈結 ln myfile.txt hardlink 建立硬鏈結 linux的檔案系統 硬碟 分為2部分 inode table 與 data area。inode table上有許多的inode,每個inode分別記錄乙個檔案的屬性與這...

索引節點inode詳解

inode index node 索引節點。linux系統中,分割槽要進行格式化,建立檔案系統。在每個linux儲存裝置或儲存裝置的分割槽 可以是硬碟,軟盤,u盤等 被格式化為ext3檔案系統後,一般分為兩個部分 第一部分是inode,第二部分是block。而inode是用來儲存這些檔案屬性資訊的 ...