对话 UNIX: 关于 inode
您是否曾经对一些 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 编号 以上所列举的信息对于文件来说非常重要,并且在 UNIX 中频繁使用.如果没有这些信息,那么文件将被认为遭到破坏和不可用. 与其他的操作系统相比,UNIX 系统中的目录和文件可能看起来有所不同,但事实并非如此.在 UNIX 中,目录本身就是文件,只是在它们的 inode 中使用了一些附加的设置.目录 本质上就是一个包含了其他文件的文件.另外,其模式信息中设置了一些相应的标志,以告知系统该文件实际上是一个目录.
使用 inode 了解如何在 UNIX 中使用 inode 可以节约大量的时间,并提高工作效率.在尚未了解 inode 之前,您可以使用下面的命令,以减少可能碰到的问题. df 命令 如前所述,当您在 UNIX 中创建一个文件系统时,将为 inode 表分配大约百分之一的总磁盘空间.每次在文件系统中创建一个文件时,都会为该文件分配一个 inode .通常,与一个文件系统相关联的 inode 的数目足够多,但耗尽 inode 的可能性始终存在.要监视是否发生了这种情况,您可以观察 df 的输出. 使用 df 命令,您可以查看所有已挂载的文件系统或者特定的文件系统.在该 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |