Inode与Block介绍

什么是索引节点(index node, Inode)

在每个 Linux存储设备(磁盘/硬盘)或在储设备的分区(此时的存储设备可以是硬盘、软盘、U盘,等等)中被格式化为ext系列(xfs也差不多)文件系统之后,都会生成两部分内容:

第一部分是Inode(默认大小一般128或256字节),第二部分是 Block(默认大小一般4KB)。由于磁盘或分区一般都比较大,因此,Inode 和Block 都会存在很多个,并且都可以存放数据信息。

Inode 本质上是一小块具备唯一数字编号的存储空间,主要用来存放文件(目录)属性(例如 ls -l 的结果)的数据信息,注意,Inode 里面唯独不包含文件名本身(文件名不算文件的属性)。
​
Inode 存储的属性信息包括但不限于文件大小、属主(用户)归属的用户组、文件权限、文件类型,修改时间等,还包含指向文件的实体指针等(Block的位置,即Inode节点与Block的对应关系)
​
## 例子:
[root@db01 ~]# ls -lhi 1.txt
33931708 -rw-r--r-- 1 root root 156 Jul 19 15:11 1.txt #//权限属主属组等属性信息不包含在156B这个文件大小里面,而是在Inode里
​
# 存放文件的真实数据(文件内容)的磁盘空间:block 
比如1.txt文本内容的156B 
​
# 存放文件的元数据(文件的属性)的磁盘空间:inode   
比如 属主 属组 日期 大小 权限等 (文件名不算)(文件名在上级目录的block里)
​
​
## inode和block的特点:
1.一个非空文件至少要占用一个Inode(有且只有一个)和一个block(可以有多个)
2.磁盘读取数据是以block为单位读取的,每读一个block消耗一次磁盘IO
3.若文件较大,则一个文件会占用多个block;若文件较小,则一个block的剩余空间可能会浪费。比如:
一个9k文件会占三个block,最后一个block是1k,剩下3k浪费,叫脏数据。
系统如何找文件?通过Inode号

Inode 除了要记录文件属性的信息之外,还会为每个文件进行信息素引,所以就有了 Inode 的数值。操作系统根据指令,即可通过 Inode 的值最快速地找到相对应的文件实体。文件、Inode 和Block 之间的关系见下图。

如何查看和管理Inode
​​​​​​​
# 查看文件系统Inode总量及余量
[root@localhost ~]# df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sda3        9.3M   35K  9.3M    1% /
devtmpfs         119K   371  119K    1% /dev
tmpfs            122K     1  122K    1% /dev/shm
tmpfs            122K   677  121K    1% /run
tmpfs            122K    16  122K    1% /sys/fs/cgroup
/dev/sda1        250K   326  250K    1% /boot
tmpfs            122K     1  122K    1% /run/user/0
​
​
# 查看磁盘的使用情况即相当于查看Block的情况
[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        19G  1.5G   18G   8% /
devtmpfs        476M     0  476M   0% /dev
tmpfs           487M     0  487M   0% /dev/shm
tmpfs           487M  7.6M  479M   2% /run
tmpfs           487M     0  487M   0% /sys/fs/cgroup
/dev/sda1       497M  120M  378M  25% /boot
tmpfs            98M     0   98M   0% /run/user/0
​
# 通过ls -i或者stat可以查看inode号
​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值