当前位置: 首页 > 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指针找到文件内容。

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

http://www.xdnf.cn/news/416575.html

相关文章:

  • 密码学--希尔密码
  • 电子电器架构 --- 借力第五代架构,驱动汽车产业创新引擎
  • Ansible内置模块之 group
  • vue3+vite 自动导入文件夹下所有路由
  • 【Python算法】最长递增子序列
  • python与nodejs哪个性能高
  • 1688平台开放接口实战:如何通过API获取店铺所有商品数据(Python示例)‌
  • 从PNG到矢量图:星云智控Logo的商用矢量转换全解析-优雅草卓伊凡
  • 三、transformers基础组件之Model
  • Java中进阶并发编程
  • 手撕算法(定制整理版2)
  • Day 15
  • 魔搭社区(modelscope)和huggingface下载模型到本地的方法
  • CSRF记录
  • 信息系统项目管理师-软考高级(软考高项)​​​​​​​​​​​2025最新(十八)
  • 【PmHub后端篇】Redis分布式锁:保障PmHub流程状态更新的关键
  • csdn博客打赏功能
  • 加固python文件
  • 什么是 NoSQL 数据库?它与关系型数据库 (RDBMS) 的主要区别是什么?
  • (六)毛子整洁架构(测试)
  • 软件测试——开发模型
  • 杭州电商全平台代运营领军者——品融电商
  • 企业数字化中台建设方案(AI/技术中台、数据中台、业务中台)
  • 【Linux】基础I/O文件——文件描述符的引入
  • switch能否作用在byte上,long上,string上
  • 小皮面板从未授权到RCE
  • 常微分方程(OTD)和偏微分方程(PDE),以及混合精度
  • Vue 3 实现转盘抽奖效果
  • EMQX本地部署
  • 传奇游戏跟奇迹游戏的区别