inode

✍ dations ◷ 2025-10-07 19:03:51 #文件系统,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。

相关

  • 高 锐高锐(1950年5月-),生于吉林长春,籍贯黑龙江双城。地球物理学家,从事地球物理与深部构造研究。1977年毕业于长春地质学院地球物理勘探系,1981年又取得该校硕士学位。担任中国地质科
  • 中华民国中央灾害应变中心中央灾害应变中心(英语译名:Central Emergency Operation Center,简写CEOC)是中华民国遭受各类灾害时由中央政府设置的任务型应变单位(英语:Emergency operations center),设置于新
  • 灰岩石灰岩(灰石)(CaCO3)简称灰岩,又叫石灰石,是以方解石(矿物)为主要成分的碳酸钙岩。石灰岩主要是在浅海的环境下形成的。石灰岩按成因可划分为粒屑石灰岩(流水搬运、堆积形成);生物骨
  • 太攀蛇太攀蛇(学名:Oxyuranus scutellatus),又名 普通太攀蛇 或 海岸太攀蛇,是一种大型的太攀蛇属成员,亦为澳大利亚体型最长的毒蛇和澳大利亚最大的毒蛇。分布于澳大利亚东部及北部沿岸
  • 安赫尔德拉瓜尔达岛安赫尔德拉瓜尔达岛是墨西哥的岛屿,位于加利福尼亚湾,由下加利福尼亚州负责管辖,长69公里、宽21公里,面积931平方公里,最高点海拔高度1,315米,岛上无人居住。坐标:29°15′36″N 11
  • 圣马利诺市圣马力诺市(意大利语:Città di San Marino)是欧洲国家圣马力诺的首都,位于意大利半岛亚得里亚海海岸附近,圣马力诺最高峰蒂塔诺山西坡上。人口4,128人(2013年10月31日数据),为该国
  • 巴西总统巴西总统是巴西联邦共和国的国家元首和政府首脑,掌握着最高行政权。总统制是自1889年11月15日德奥多罗·达·丰塞卡推翻帝制、建立巴西联邦共和国时开始实行。自该时开始,巴西
  • 台湾原住民族台湾原住民族人名,是指台湾岛与兰屿岛上的原住民族群所使用之人名,其现象复杂且多元,除了传统族名文化以外,亦包涵因统治政权更迭关系而取用之外名,尤其在日治时期与中华民国时期
  • 论原始基督教的历史论原始基督教的历史或原始基督教史论(德语:Zur Geschichte des Urchristentums)是德国哲学家恩格斯于1894年创作,1894年至1895年于《新时代(英语:Die Neue Zeit)》上发表的作品。该
  • 留里克王朝留里克王朝(俄语:Рюриковичи)是统治东斯拉夫人的古罗斯国家(大致相当于今日俄罗斯东欧部分地区、乌克兰、白俄罗斯部分地区)的第一个王朝。留里克王朝的实际始祖为基辅