1. 程式人生 > >linux文件屬性描述(inode,block)

linux文件屬性描述(inode,block)

egrep 需要 索引 類型 命令 小文件 塊存儲 count 有用

1.ls -lhi

文字解釋:

第一列:inode索引節點編號(人的身份證,全國唯一)

系統讀取文件時首先通過文件名找到inode,然後才能讀取到文件內容。

第二列:文件類型及權限(共10個字符,第一個字符為類型,後9個字符為文件權限)

第三列:硬鏈接個數(詳細參看In命令的講解)

第四列:文件或目錄所屬的用戶(屬主)

linux裏面文件和程序的存在必須要有用戶和組滿足相應的存在需求。

第五列:文件或目錄所屬的組

第六列:文件或目錄的大小

第七八九列:文件或目錄的修改時間;默認月日時分

第十列:實際的文件或目錄名

文件名不算文件的屬性

不同Centos版本inode大小不同:

dumpe2fs /dev/sda1|grep -i "Inode size" #<==/boot分區默認128

查看文件系統inode總量以及剩余量:df -i

查看磁盤的使用量:df -h

磁盤空間是否滿了,是由兩項參數決定的,第一個是inode是否滿了,第二個block是否滿了

磁盤滿的一個特征(no space on device left)

有關inode的小結:

1.磁盤被分區格式化為ext4文件系統後會生成一定數量的inode和block

2.inode稱為索引節點,它的作用是存放文件的屬性信息以及作為文件的索引(指向文件的實體)

3.ext3/ext4文件系統的block存放的是文件的實際內容

4.inode是磁盤上的一塊存儲空間,C6非啟動分區inode默認大小256字節,C5是128字節

5.inode的表現形式是一串數字,不同的文件對應的inode(一串數字)在文件系統裏是唯一的

6.inode節點號相同的文件,互為硬鏈接文件,可以認為是一個文件的不同入口

7.ext3/ext4文件系統下,一個文件被創建後至少要占用一個inode和一個block;正常情況一個文件占用且只能占用一個inode(人和身份證)

8.block是用來存儲實際數據的,每個block的大小一般有1k,2k,4k幾種。其中引導分區等為1k,其它普通分區多為4k(C6)

9.如果一個文件很大(高清的大片4G),可能占多個block,如果文件很小(0.01K),至少占一個block,並且這個block的剩余空間就浪費了,即無法再存儲其它數據了

10.inode大小和總量查看

1)dumpe2fs /dev/sda1|egrep -i "block size | Inode size"

2)dumpe2fs /dev/sda1|egrep -i "block count | Inode count"

默認block count一般會大於Inode count的數量

11.查看inode的總量和使用量:df -i

12.查看文件的inode信息方法:ls -li 或 stat /etc/hosts

13.如何生成及指定inode大小

格式化命令:mkfs.ext4 -b 2048 -l 256 /dev/sdb

有關Block的知識小結

1.磁盤讀取數據是按block為單位讀取的

2.一個文件可能占用多個block。但是每讀取一個blcok就會消耗一次磁盤I/O

3.如果要提升磁盤IO性能,那麽就要盡可能一次性讀取數據盡量的多

4.一個block只能存放一個文件的內容,無論內容有多小。如果block默認是4K大小,那麽存放一個1K的文件,剩余3K就不能存放別的文件,只能浪費了

5.Block並非越大越好。block太大對於存放小文件就會浪費磁盤空間,例如:1000K的文件,block為4K,占用250個block,如果block默認為1K,則需要占用1000個block。訪問效率誰更高?消耗IO分別為250次和1000次

6.根據業務需求,確認默認的block大小,如果是大文件(大於16K)一般設置block大一點,小文件(小於1K)一般設置block小一點

7.block太大,例如4K,文件都是0.1K的,大量浪費磁盤空間,但是訪問性能高

8.block太小,例如1K,文件都是1000K,消耗大量磁盤IO

9.blcok大小設置也是格式化分區時候確定的,命令mkfs.ext4 -b 2048 -I 256 /dev/sdb

10.企業裏文件都會比較大(一般會大於4K),block設置大一些會提升磁盤訪問效率

11.ext3/ext4文件系統(Centos5和6),一般都設置為4K

總的小結:

1.磁盤被分區格式化文件系統後,會分為inode和block兩部分內容

2.inode存放文件的屬性以及指向文件實體的指針,文件名不在inode裏,一般在上級目錄的block裏

3.訪問文件,原理通過文件名-->inode-->block

linux文件屬性描述(inode,block)