inode百科

回复 收藏
inode(发音:eye-node)译成中文就是索引节点,它用来存放档案及目录的基本信息,包含时间、档名、使用者及群组等。

简介

inode 是 UNIX 操作系统中的一种数据结构,其本质是结构体,它包含了与文件系统中各个文件相关的一些重要信息。在 UNIX 中创建文件系统时,同时将会创建大量的 inode 。通常,文件系统磁盘空间中大约百分之一空间分配给了 inode 表。

有时,人们使用了一些不同的术语,如 inode 和索引编号 (inumber)。这两个术语非常相似,并且相互关联,但它们所指的并不是同样的概念。inode 指的是数据结构;而索引编号实际上是 inode 的标识编号,因此也称其为inode 编号 或者索引编号。索引编号只是文件相关信息中一项重要的内容。下一个部分将介绍 inode 中的其他一些属性。

inode 表包含一份清单,其中列出了对应文件系统的所有 inode 编号。当用户搜索或者访问一个文件时,UNIX 系统通过 inode 表查找正确的 inode 编号。在找到 inode 编号之后,相关的命令才可以访问该 inode ,并对其进行适当的更改。

例如,使用 vi 来编辑一个文件。当您键入 vi  时,在 inode 表中找到 inode 编号之后,才允许您打开该 inode 。在 vi 的编辑会话期间,更改了该 inode 中的某些属性,当您完成操作并键入 :wq 时,将关闭并释放该 inode 。通过这种方式,如果两个用户试图对同一个文件进行编辑, inode 已经在第一个编辑会话期间分配给了另一个用户 ID (UID),因此第二个编辑任务就必须等待,直到该 inode 释放为止。

2013-07-06 23:33 举报
已邀请:
0

阿铭 管理员

赞同来自:

结构

对于经验丰富的 UNIX 开发人员或者管理员来说, inode 的结构相对比较简单,但是可能还有一些您尚不了解的、令人惊讶的有关 inode 的内幕。下面的定义仅给出了 inode 中所包含的、UNIX 用户经常使用的一些重要信息:
● inode 编号
● 用来识别文件类型,以及用于 stat C 函数的模式信息
● 文件的链接数目
● 属主的 UID
● 属主的组 ID (GID)
● 文件的大小
● 文件所使用的磁盘块的实际数目
● 最近一次修改的时间
● 最近一次访问的时间
● 最近一次更改的时间
从根本上讲, inode 中包含有关文件的所有信息(除了文件的实际名称以及实际数据内容之外)。可以在 unix/linux 的 Header 文件 /usr/include/jf/ino.h 中、或者 Web 页面 中可以找到完整的 inode 结构。

以上所列举的信息对于文件来说非常重要,并且在 UNIX 中频繁使用。如果没有这些信息,那么文件将被认为遭到破坏和不可用。
与其他的操作系统相比,UNIX 系统中的目录和文件可能看起来有所不同,但事实并非如此。在 UNIX 中,目录本身就是文件,只是在它们的 inode 中使用了一些附加的设置。目录 本质上就是一个包含了其他文件的文件。另外,其模式信息中设置了一些相应的标志,以告知系统该文件实际上是一个目录。
0

ilyqui

赞同来自:

关于inode的理解,如果不清楚的,可以看看下面链接,了解更多。

http://www.lishiming.net/forum ... d6800
0

忆水寒冰

赞同来自:

老师总结的很用心
0

路过

赞同来自:

用心了
0

___紸角__...

赞同来自:

讲的很用心   一次笔试,就有这inode 很详细的论述
0

楓瀛夢鞢

赞同来自:

学习了
0

小旭

赞同来自:

已学习!
0

15036085170

赞同来自:

老师辛苦了!
0

simle

赞同来自:

原来是这样啊:在用命令对文件操作之前,先去inode表中找到文件对应的inode编号,然后打开该文件对应的inode结构。要修 改文件的各种属性,都是在结构里面修改。修改完毕后,这个inode结构才会释放。
这下明白的inode的作用。
0

方琪

赞同来自:

mark!
0

J!_yuan

赞同来自:

我们可以查看着inode   或者更改吗
0

sunwang33

赞同来自:

老师讲的很详细。
0

gsy36559067

赞同来自:

本帖最后由 gsy36559067 于 2016-1-5 21:49 编辑

相当于一个门牌号吧,3楼很详细,赞一个
0

ttly123

赞同来自:

学习了
0

17095053557

赞同来自:

学习了、专业术语强、这些要记忆吗、
0

fulilu

赞同来自:

就是文件的所有信息,除了内容和名字外,其他的都存在inode中
0

17095053557

赞同来自:

阿铭 发表于 2013-7-6 23:34
结构

对于经验丰富的 UNIX 开发人员或者管理员来说, inode 的结构相对比较简单,但是可能还有一些您尚 ...

阿铭老师:
从根本上讲, inode 中包含有关文件的所有信息(除了文件的实际名称以及实际数据内容之外)。可以在 unix/linux 的 Header 文件 /usr/include/jf/ino.h 中、或者 Web 页面 中可以找到完整的 inode 结构。
第一句话在目录中并没有找到这个文件,但是在/usr/include/linux/fs..h  我的版本是CentOS 6.7 ,后面的web页面中如何查看那inode结构啊?
0

xiaocheng

赞同来自:

老师辛苦了
0

linux小学生

赞同来自:

很清晰,我个人理解是貌似进程表之类的吧,不知道准不准确

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: