關於linux的inode索引節點基本原理詳解

2021-10-07 11:20:47 字數 1914 閱讀 2663

眾所周知,檔案儲存在硬碟上,硬碟的最小儲存單位叫扇區(sector)。每個扇區儲存512位元組(相當於0.5kb)。

作業系統讀取硬碟的時候,不會乙個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取乙個塊(block)。這種由多個扇區組成的塊是檔案訪問的最小單位,塊的大小,最常見的是4kb,即連續八個sector組成乙個block,檔案資料都儲存在塊中,但是這僅僅是儲存資料的內容,而檔案的建立者、檔案的創年日期、檔案的大小等資訊是另外單獨存放的,叫做檔案的元資訊,儲存元資訊的區域就叫做inode,中文譯名為」索引節點,inode (index node) 表中包含檔案系統的所有檔案列表。

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

可以用stat命令,檢視某個檔案的inode的詳細資訊:

使用ls -i命令,也可以檢視某乙個檔案的inode節點號:

使用ls -i命令,可列出整個目錄下的檔名和檔案的inode號碼:

用ls -l可以檢視檔案或目錄一共被呼叫了幾次,就是有幾個檔案指向它,一般都是1,除了目錄預設為2,還有硬鏈結,幾個硬鏈結就是幾

xfs系統用xfs_info命令檢視

在linux作業系統中表面上是通過檔名開啟檔案的,實際上分為以下三步:

查詢檔案名對應的inode號

通過inode號獲取inode資訊

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

在linux下面的鏈結檔案有兩種,一種類似於windows系統的快捷方式,可以快速連線到目標檔案或目錄,另一種則是通過檔案系統的inode鏈結來產生的新檔名,而不產生新檔案,這種就是硬鏈結

一般情況下,檔名和inode號碼是一一對應關係,每個inode號碼對應乙個檔名。但是linux系統允許,多個檔名指向同乙個inode號碼,這意味著,可以用不同的檔名訪問同樣的內容,可以使用ln 原始檔 目標檔案 來建立硬鏈結

硬鏈結不能對目錄建立,也不能跨檔案系統建立

軟鏈結就是再建立乙個新檔案,inode不再相同,而這個檔案會讓資料的讀取指向它鏈結的那個檔案的檔名,並且軟鏈結檔案依賴原始檔存在,如果刪除原始檔的話軟鏈結就會失效

可以使用ln -s 原始檔 目標檔案 來建立硬鏈結

hard2指向的是hard的檔名而不是inode號碼

Linux 索引節點 inode

理解 inode,要從檔案儲存說起。檔案儲存在硬碟上,硬碟的最小儲存單位叫做 扇區 sector 每個扇區儲存 512 位元組 相當於 0.5kb 作業系統讀取硬碟的時候,不會乙個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取乙個 塊 block 這種由多個扇區組成的 塊 是檔...

linux中的inode索引問題

linux中的inode索引的相關問題 檔案系統是資料在硬碟上的一種排列組織方式,linux每個分割槽都可以格式化為不同的檔案系統,所以可以說每個分割槽都是乙個檔案系統,都有自己的目錄層次結構。而在目錄之下,linux已經將所有的資源處理成為檔案,不論是目錄還是命令,之後linux會將這些分屬不同分...

linux 索引節點 inode 詳解

1 inode簡介 理解inode,要從檔案儲存說起。檔案儲存在硬碟上,硬碟的最小儲存單位叫做 扇區 sector 每個扇區儲存512位元組 相當於0.5kb 作業系統讀取硬碟的時候,不會乙個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取乙個 塊 block 這種由多個扇區組成...