Linux的ext2文件系统(inode)

本文深入解析了Linux下的ext2文件系统工作原理,包括文件如何被划分为inode与block进行存储,以及目录树结构如何帮助组织文件。介绍了inode用于存储文件权限和属性,而block则存放文件的实际内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、文件的划分与储存

linux的ext2是一种索引式文件系统,并且以inodeblock为基础。
linux操作系统的文件可以分为两部分:(1)实际内容(存放在block中);(2)文件权限(读写可执行等)与文件属性(拥有者、用户组、时间等参数)。文件系统将这两部分内容分别存放于不同的区块。权限与属性存放在inode中,实际内容存放在数据区块中。
在这里插入图片描述
一个文件只占用一个inode,但是可能占用多个数据区块(下文统一称block),占用block的个数取决于文件的实际大小。inode记录了这些block的编号,因此可以通过inode索引找到实际内容。如下图所示:
在这里插入图片描述

2、文件系统与目录树

在linux系统下,无论是一般文件还是目录文件都会占用一个inode,并且根据文件的大小来分配一个或多个block给文件使用,inode记录目录相关的权限以及分配到的那块block的号码。
普通文件和目录文件block的内容不同:

  • 普通文件block中记录的是该文件的实际内容
  • 目录文件记录的是该目录下面所有文件(包含普通文件和子目录)的文件名和对应的inode号。
    目录文件的block记录了下面所有的文件的inode号,根据这些inode可以找到该目录下面所有文件的内容,如下:
    在这里插入图片描述

无论是目录文件还是普通文件,访问都需要通过inode找到block。普通文件索引顺序如下:
目录inode(获得目录权限及block的编号) ——> 目录block (获得文件的inode编号)——>
文件inode (获取文件权限即文件block编号) ——> 文件block (文件实际内容)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值