索引节点是磁盘上用于描述文件的一种数据结构. 它保存了文件的大部分重要信息,包括文件数据块(用户关心的文件部分)在磁盘上的地址. 每个索引节点都有自己的标识号, 称为索引号(i-number). 实际上用户根本不需要关心文件在磁盘上的物理地址, 也不用关心索引号----除非是要找出对文件的链接. 但用户关心下列信息, 而它们都被保存在文件的索引节点中:
文件所有权: 拥有文件的用户和组
文件访问模式: 不同的用户和组是否可以读, 写或执行文件.
文件时间标记: 文件最后一次被修改的时间, 最后被访问的时间和索引节点最后被修改的时间.
文件类型: 是否为常规文件, 特殊文件或者其他类型的抽象伪装文件.
文件系统第一次被创建时(通常是磁盘第一次初始化时), 会为每一个文件系统创建若干数量的索引节点. 该数目是文件系统所能容纳的最大文件数. 只要不重新初始化文件系统, 就不能改变这个数目, 否则会损坏该文件系统上所有的数据. 很有可能(虽然很少见)文件系统会将索引节点全部用光,就像有可能用完存储空间一样----当文件系统中有很多很多小文件时,这种情况就可能发生.
使用ls –l命令会显示出在大部分信息. ls –i option显示文件的索引号. 而stat命令则可以列出索引节点中的几乎所有信息.
linux中文件管理对象有超级块对象(superblock),索引结点对象(inode),数据块对象(datablock),目录块对象(diredtory block)。其中超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面的数据结构是索引结点,它包含了针对某一个具体文件的几乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置。但是索引结点中不包括文件的名字,文件名是放在目录块里的。目录块里包含有文件的名字以及此文件的索引结点编号。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)