快速业务通道

对话 UNIX: 关于 inode

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-09

您是否曾经对一些 UNIX? 命令(如 df)中的 Iused 和 %Iused 的含义感到困惑,或者当人们讨论 inode 的时候不知所云?UNIX 和 Linux? 系统都使用了 inode ,当然 IBM? AIX? 也不例外.本文将向您介绍什么是 inode 、为什么对于 UNIX 来说 inode 非常重要、 inode 的结构,以及操作 inode 的命令.

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

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

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

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

inode 的结构

对于经验丰富的 UNIX 开发人员或者管理员来说, inode 的结构相对比较简单,但是可能还有一些您尚不了解的、令人惊讶的有关 inode 的内幕.下面的定义仅给出了 inode 中所包含的、UNIX 用户经常使用的一些重要信息:

inode 编号
用来识别文件类型,以及用于 stat C 函数的模式信息
文件的链接数目
属主的 UID
属主的组 ID (GID)
文件的大小
文件所使用的磁盘块的实际数目
最近一次修改的时间
最近一次访问的时间
最近一次更改的时间
从根本上讲, inode 中包含有关文件的所有信息(除了文件的实际名称以及实际数据内容之外).可以在 AIX 的 Header 文件 /usr/include/jf/ino.h 中、或者 Web 页面 http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.files/doc/aixfiles/inode.h.htm 中可以找到完整的 inode 结构.

以上所列举的信息对于文件来说非常重要,并且在 UNIX 中频繁使用.如果没有这些信息,那么文件将被认为遭到破坏和不可用.

与其他的操作系统相比,UNIX 系统中的目录和文件可能看起来有所不同,但事实并非如此.在 UNIX 中,目录本身就是文件,只是在它们的 inode 中使用了一些附加的设置.目录 本质上就是一个包含了其他文件的文件.另外,其模式信息中设置了一些相应的标志,以告知系统该文件实际上是一个目录.

使用 inode

了解如何在 UNIX 中使用 inode 可以节约大量的时间,并提高工作效率.在尚未了解 inode 之前,您可以使用下面的命令,以减少可能碰到的问题.

df 命令

如前所述,当您在 UNIX 中创建一个文件系统时,将为 inode 表分配大约百分之一的总磁盘空间.每次在文件系统中创建一个文件时,都会为该文件分配一个 inode .通常,与一个文件系统相关联的 inode 的数目足够多,但耗尽 inode 的可能性始终存在.要监视是否发生了这种情况,您可以观察 df 的输出.

使用 df 命令,您可以查看所有已挂载的文件系统或者特定的文件系统.在该

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号