当前位置: 首页 > news >正文

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指针找到文件内容。

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

相关文章:

  • 各类大豆相关数据集大合集
  • 大模型的Lora如何训练?
  • 停车四柱液压举升机 2.0 版技术白皮书
  • Spark处理过程-转换算子和行动算子(一)
  • DocsGPT 远程命令执行漏洞复现(CVE-2025-0868)
  • C# 使用HttpClient下载文件
  • ​Spring Boot 配置文件敏感信息加密:Jasypt 实战
  • 深入了解 gmx_RRCS:计算原理、操作步骤及输出文件解析
  • 【TTS学习笔记】:语音合成领域基本术语
  • 二叉树路径总和
  • 【vue】全局组件及组件模块抽离
  • .NET 在鸿蒙系统上的适配现状
  • 1.5 连续性与导数
  • SnowAdmin - 功能丰富、简单易用的开源的后台管理框架,基于 Vue3 / TypeScript / Arco Design 等技术栈打造
  • 系统架构-通信系统架构设计
  • Java大师成长计划之第19天:性能调优与GC原理
  • [ linux-系统 ] 自动化构建工具makefile
  • 如何通过DNS解析实现负载均衡?
  • 2025 盘古石杯初赛 wp
  • Python集成开发环境之Thonny
  • 摩根士丹利:对冲基金已加码,八成投资者有意近期增配中国
  • 在对国宝的探索中,让美育浸润小学校园与家庭
  • 人大新闻教育70年丨16759门课程里的时代密码
  • 白玉兰奖征片综述丨综艺市场破局焕新,多元赛道重塑价值坐标
  • 打击网络谣言、共建清朗家园,中国互联网联合辟谣平台2025年4月辟谣榜
  • 中美经贸高层会谈11日在日内瓦将继续进行