Linux inode資訊詳解

2021-07-31 01:53:34 字數 1479 閱讀 9022

要理解inode,就先要理解檔案的儲存方式。我們都知道,檔案是儲存在硬碟上的。硬碟的最小單位是扇區,每個扇區的大小為512位元組。

如果系統在讀取硬碟資料的時候按扇區乙個乙個來讀取,那效率就太低了,而是一次連續性讀取多個扇區,所以設計者又將多個扇區整合成乙個塊(block),所以,塊就是檔案訪問的最小單位。乙個塊的大小為4k。

我們現在已經有了塊的概念,檔案資料就是存放在塊中。但光有資料還是不行啊?為了方便管理檔案,我們還需要檔案的元資訊,比如檔案的屬性,建立時間,許可權,所佔的塊大小,數量等等。這些資訊就是inode資訊。所以硬碟在分割槽的時候會分為兩個區域,乙個區域存放資料,乙個區域存放inode資訊。

每乙個檔案都有乙個對應的inode。

使用stat指令可檢視對應檔案的inode資訊。

[lzk@localhost ~]$ stat file

file: `file'

size: 319 blocks: 8 io block: 4096 regular file

device: 802h/2050d inode: 10775 links: 1

access: (0664/-rw-rw-r--) uid: ( 500/ lzk) gid: ( 500/ lzk)

access: 2017-04-22

20:03:29.851012565 +0800

modify: 2017-04-22

20:03:22.562012565 +0800

change: 2017-04-22

20:03:22.563012584 +0800

具體內容如下:

檔名

inode編號

檔案擁有者uid

檔案的所屬使用者組 gid

檔案的可讀,可寫,可執行許可權 :access: (0664/-rw-rw-r–)

檔案的時間戳:

關於inode編號,這裡多說以下,每個檔案都對應乙個inode編號,作業系統用inode號碼來識別檔案,對於系統來說,檔名知識inode編號便於識別的別稱或綽號。

表面上,開啟檔案是通過檔名,實際上要執行下面三個步驟:

1、查詢檔案的inode編號

2、根據inode編號,找到inode資訊

3、根據inode資訊找到檔案對於所在的block,進行資料的讀寫。

乙個inode節點的大小一般為128位元組或者256位元組。inode節點的數量在硬碟格式化的時候就已經給定了。所以當linux上建立檔案過多時,就可能發生inode用光,無法建立新檔案的問題。

檢視每乙個目錄下每個檔案的inode號

ls -i

檢視對應檔案的inode資訊

stat [file]

檢視硬碟上的inode總數和適用情況

df -i

檢視硬碟上塊(block)的總數和使用情況

df -l

linux inode節點詳解

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

linux inode 已滿解決方法

今天login server的乙個 發現login後沒有生成session。根據以往經驗,一般是空間已滿導致session檔案生成失敗 空間剩餘473m,可以排除空間已滿的情況。導致檔案生成失敗還有另乙個原因,就是檔案索引節點 inode已滿 df i filesystem inodes iused...

Linux inode的正確理解

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