inode

✍ dations ◷ 2025-11-24 23:33:16 #文件系统,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。

相关

  • 悉尼·奥尔特曼西德尼·奥尔特曼(英语:Sidney Altman,或译奥特曼,1939年3月7日-),加拿大分子生物学家,现任耶鲁大学分子、细胞和发育生物学及化学斯特林教授。1989年,他和托马斯·切赫因为对RNA的催
  • 酸酐水解酶酸酐水解酶是一类催化酸酐键水解的水解酶。它们被归类于EC编号 3.6。该类中一个众所周知的成员是GTPase。EC 1.1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22
  • 软件部署软件部署(英语:Software deployment)是为将一个软件系统投入使用而进行的所有活动,包括硬件配置、软件的安装、环境变量设置等。在一些机器上批量安装某一程序也称为软件部署,分
  • 托烷莨菪烷(英语:Tropane)是一种含氮桥环有机化合物,其名称源于茄科植物莨菪(天仙子)。它主要因一类它的名为莨菪烷生物碱的衍生物而为人们所知,而这类生物碱包括了许多药物,如阿托品和
  • 欧仁亲王欧仁·德·博阿尔内(法语:Eugène de Beauharnais;1781年9月3日-1824年2月21日)法国军事家,为亚历山大·德·博阿尔内子爵与妻子约瑟芬的独子。拿破仑随身少将副官出生在法国首都
  • 马里科帕语马里科帕语(Maricopa)是通行于马里科帕人之间的一种语言。现代的马里科帕人主要居于美国亚利桑那州的盐河皮马─马里科帕印第安人社区(Salt River Pima-Maricopa Indian Com
  • 互斥在逻辑学中,互斥(Mutually Exclusive)是一种逻辑关系,指几个变量或事件之中的任一个不可能与其它一个或多个同时为真,或同时发生的情况。对于逻辑函数,其变量互斥,意味着两个以上变
  • 阿赖耶识阿赖耶识(梵语:आलयविज्ञान,ālaya-vijñāna),又译为阿梨耶识,也称为一切种子识(sarva-bījaka-vijñāna)、异熟识(vipāka-vijñāna)、阿陀那识(ādāna-vijñāna)(即“持
  • 人性论《人性论》(英文:)是苏格兰哲学家大卫·休谟的一本书,出版于1739年至1740年,被许多人认为是休谟最重要的作品,也是哲学史上最具影响力的著作之一。1734至1737年,休谟开始写《人性论
  • 穆罕默德·奥尔罕穆罕默德·奥尔罕(土耳其语:Mehmed Orhan;1909年7月11日-1994年3月12日),是1983年-1994年间奥斯曼帝国王朝第42代领袖,如果他能继位,他会被称为苏丹奥尔罕二世(土耳其语:II Orhan)。他在