inode

✍ dations ◷ 2025-07-04 10:21:54 #文件系统,Unix

inode(index node)是指在许多“类Unix文件系统”中的一种数据结构,用于描述 文件系统对象(包括文件、目录、设备文件、socket、管道, 等等)。每个inode保存了 文件系统对象数据 的属性和磁盘块位置。文件系统对象属性 包含了各种元数据(如:最后修改时间) ,也包含用户组(owner )和权限数据。

文件夹是inode的名字。一个文件夹包含自身节点,父节点和每个子节点。

Unix先驱丹尼斯·里奇说,inode这个命名的来源可能是文件系统的存储组织为一个扁平数组,分层目录信息使用一个数作为文件系统这个扁平数组的索引值(index)。

文件系统创建(格式化)时,就把存储区域分为两大连续的存储区域。一个用来保存文件系统对象的元信息数据,这是由inode组成的表,每个inode默认是256字节或者128字节。另一个用来保存“文件系统对象”的内容数据,划分为512字节的扇区,以及由8个扇区组成的4K字节的块。块是读写时的基本单位。一个文件系统的inode的总数是固定的。这限制了该文件系统所能存储的文件系统对象的总数目。典型的实现下,所有inode占用了文件系统1%左右的存储容量。

文件系统中每个“文件系统对象”对应一个“inode”数据,并用一个整数值来辨识。这个整数常被称为inode号码(“i-number”或“inode number”)。由于文件系统的inode表的存储位置、总条目数量都是固定的,因此可以用inode号码去索引查找inode表。

Inode存储了文件系统对象的一些元信息,如所有者、访问权限(读、写、执行)、类型(是文件还是目录)、内容修改时间、inode修改时间、上次访问时间、对应的文件系统存储块的地址,等等。知道了1个文件的inode号码,就可以在inode元数据中查出文件内容数据的存储地址。

文件名与目录名是“文件系统对象”便于使用的别名。一个文件系统对象可以有多个别名,但只能有一个inode,并用这个inode来索引文件系统对象的存储位置。

Linux系统使用struct inode作为数据结构名称。BSD派生的系统,使用vnode名称,其中v表示“virtual file system”。

POSIX标准强制规范了文件系统的行为。每个“文件系统对象”必须具有:

使用stat系统调用可以查询一个文件的inode号码及一些元信息。

系统管理员使用的很多程序往往用inode号码来替代文件名来访问文件系统。例如磁盘完整性检查程序fsckpfiles。因此,inode号码与文件全路径名的互查是需要的。可以用find带参数选项-inumls带参数选项(-i做到。

文件系统可能会用尽inode。这导致文件系统还有空闲的存储空间,但已经没有空闲的inode可供使用了。例如,一个电子邮件服务器可能会被大量的小文件用尽所有inode,但是却没有填满文件存储空间。

现代的文件系统,如JFS和XFS,能够动态地增加inode,因此不会用尽inode。

相关

  • 第三条道路第三条道路(英语:Third Way),又称新中间路线(Middle Way),是一种走在自由放任资本主义和传统社会主义中间的一种政治经济理念的概称。它由中间派所倡导,是社会民主主义的一个流派,英
  • 室内设计室内设计(Interior design),是一种以居住在该空间的人为对象所从事的设计专业,需要工程技术上的知识,也需要艺术上的理论和技能,泛指对室内建立的任何相关物件,包括:墙、窗户、窗帘
  • PmWikiPmWiki是一款用PHP编写的、无需数据库支持的Wiki。个人网站尤其适合。PmWiki支持简体中文,但需要做一些修改工作,以避免一些意想不到的错误。
  • 胡聿贤胡聿贤(1922年10月12日-),中国地震工程学家。生于湖北武昌。1946年毕业于上海交通大学土木工程系。1949年获美国密歇根大学土木工程系硕士学位,1952年获博士学位。国家地震局地球
  • 安提基特拉机械安提基特拉机械(希腊文:O μηχανισμός των Αντικυθήρων, O mēchanismós tōn Antikythērōn,或译为安提基瑟拉、安提基西拉)是古希腊时期为了计算天
  • 对二氯苯对二氯苯是苯的二个氢被氯原子取代后形成的化合物,分子式为C6H4Cl2,系统命名法写作1,4-二氯苯(英语:1,4-Dichlorobenzene),常用作樟脑丸。熔点53.5℃、沸点174℃。常温下会借由升
  • 外接圆在数学中,一个二维平面上的多边形的外接圆是一个使得该多边形的所有顶点都在其上的圆形,这时称这个多边形为圆内接多边形,外接圆的圆心被称为该多边形的外心。一个多边形至多有
  • 缩排缩进(缩排)是指书写一段文字时在某些行(通常是段落的第一行)的开头插入的一个或几个空格。在汉语中,一般首行缩进两个空格。计算机编程语言也使用缩进来表明代码块的逻辑结构。段
  • 杧果属杧果属(学名:)常称芒果属,是漆树科中开花植物的一种。它包含大约69个物种,其中最着名的是普通芒果(Mangifera indica)。多样性的中心位于亚热带和热带的南亚和东南亚,而印度的物种数
  • 南汇区上海市南汇区是中华人民共和国上海市已撤销的市辖区,原辖行政区域于2009年8月9日零时正式划归浦东新区。南汇区位于上海市的东南端,南临杭州湾,东临东海,北邻浦东新区,西邻奉贤区