inode

✍ dations ◷ 2025-09-09 01:28: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。

相关

  • 甲硫咪唑甲巯咪唑(methimazole、thiamazole),是抗甲状腺药(英语:antithyroid agent),属于硫代酰胺类药物。甲巯咪唑的主要副作用和丙硫氧嘧啶类似,包括有粒细胞缺乏症(英语:agranulocytosis)及
  • 哈登阿瑟·哈登(英语:Arthur Harden,1865年10月12日-1940年6月17日),出生于英国曼彻斯特,英国生物化学家、皇家学会院士,1929年与汉斯·冯·奥伊勒-切尔平因对糖类的发酵以及发酵酶的研
  • Lycorine石蒜碱(Lycorine),是一种提取自石蒜科植物鳞茎的生物碱。尽管和大多数生物碱一样具有引发呕吐和腹泻的能力,它仍因其明显的生物活性而被用于治疗肠内外阿米巴痢疾 。由于含有大
  • 骑师骑师,一般指马匹的策骑者。骑师可分为多种,包括平地赛马的骑师,越野跳栏赛的骑师,及马术的骑师等,所需要的技术及其他要求也各有分别。赛马骑师通常为自由身,是由练马师聘请策骑其
  • 英格兰国王怀特霍尔宫(1530年-1698年)本表列出1707年英格兰王国和苏格兰王国组成大不列颠王国前的英格兰君主,此后的英格兰君主列表参看英国君主列表。(2) 昂古莱姆的伊莎贝拉波尔多主教
  • 方国珍方国珍(1319年-1374年),名珍,字国珍,以字行,后改谷贞,又作谷真,中国浙江台州黄岩人,元末义军领袖之一,最先起兵抗元。又记作方谷珍,另说宁海(今浙江宁海县)人。长得眼大身长,力大能擒虎,又识
  • 冬季奥林匹克运动会冬季两项比赛冬季奥林匹克运动会冬季两项比赛目前有11小项的比赛。冬季两项在美国斯阔谷举办的1960年冬季奥林匹克运动会正式列入比赛项目,项目为男子个人赛(20公里)。1968年加入男子接力赛
  • 石臼湖石臼湖是天然的淡水湖泊,由古丹阳湖分化而成,总面积196平方公里,是江苏溧水区、高淳区和安徽当涂县三县间的界湖,为南京地区最大的天然淡水湖泊。石臼湖和固城湖等古为丹阳湖。
  • 风衣风衣中文里指一种能遮风、挡雨、御寒的多功能日用长衣外衣,是外套的一类。英文中可以指改良自雨衣用来防风防雨的大衣(英语:)或是仅是用来防风保暖的外套(英语:、)。同时因为英文中
  • 冈洁冈洁(日语:岡 潔/おか きよし ,1901年4月19日-1978年3月1日),日本数学家。他一生正式发表了十篇论文,而且都是和多变数解析函数有关的。他是这个领域重要贡献者,解决了两个Cousin问