Linux 详解inode

目录

一、inode是什么?

‌inode包含的主要信息‌(inode是一个结构体):

‌硬链接计数‌(有多少个文件名指向这个inode)

inode的特点‌:

inode编号

二、block区‌

‌定义与作用‌

‌特点‌

三、block区和inode区的理解


一、inode是什么?

inode(索引节点)‌ 是Linux文件系统中的一种数据结构,用于存储文件或目录的元数据(metadata)。每个文件或目录在文件系统中都有一个唯一的inode编号,它记录了文件的关键信息,但不包含文件名或文件内容本身。

inode包含的主要信息‌(inode是一个结构体):

  1. 文件类型‌(普通文件、目录、符号链接、设备文件等)
  2. 文件权限‌(读、写、执行权限)
  3. 文件所有者‌(UID)和所属组(GID)
  4. 文件大小‌(字节数)
  5. 时间戳‌(创建时间、修改时间、访问时间)
  6. 指向文件数据的指针‌(存储文件内容在磁盘上的位置)
  7. 硬链接计数‌(有多少个文件名指向这个inode)

inode的特点‌:

  • 文件名 ≠ inode‌:文件名只是指向inode的链接,多个文件名(硬链接)可以指向同一个inode。
  • 删除文件时‌:只有当硬链接计数降为0时,inode和文件数据才会被真正释放。
  • inode耗尽问题‌:文件系统创建时会分配固定数量的inode,如果inode用尽,即使磁盘空间充足也无法创建新文件。
ls -i 文件名       # 查看文件的inode编号
stat 文件名       # 查看文件的inode详细信息
df -i             # 查看文件系统的inode使用情况

inode编号

inode编号是很重要的,当系统在找一个文件时,步骤如下:

1.通过文件名先找到文件的inode编号
2.通过inode编号找到文件inode信息
3.通过inode信息中的block指针找到文件内容。

superBlock : 存储整个文件系统的信息。
inode : 存储文件的权限与属性。
data block : 真正存储文件内容。 

二、block区

  1. 定义与作用

    • block(块)是文件存取的最小物理单位。
    • 由连续8个扇区(Sector)组成,每个扇区512字节,因此常见的block大小为4KB。
    • 存储文件的实际内容‌,例如文本、图片、视频等数据。
  2. 特点

    • 文件内容可能分布在多个不连续的block中,通过inode的指针关联。
    • 文件越大,占用的block数量越多,但每个block只能归属于一个文件

三、block区和inode区的理解

 
硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区(block区),存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。inode区是以数组的形式存储的,对应的数组下标就是inode编码,每个元素就是一个结构体(结构体内容在上面已说),inode结构体中会有一个指针,指向block区也就是存放的文件内容。

node编号是很重要的,当系统在找一个文件时,步骤如下:

1.通过文件名先找到文件的inode编号
2.通过inode编号找到文件inode信息
3.通过inode信息中的block指针找到文件内容。

------------------------------------------------------------------------------------------------------------------------------- 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值