本文介绍“linux的I节点号是什么意思”的知识。在实际案例的操作中,很多人都会遇到这样的困难。接下来,就让主机频道带领大家学习如何应对这些情况吧!希望你能认真阅读,有所收获!
在linux中,索引节点号指的是索引节点号,用于标识不同的文件。Linux使用inode编号来标识文件,而不是文件名。对于系统来说,文件名就是inode号的昵称,方便用户识别文件。文件名和索引节点号是一一对应的,每个索引节点号对应一个文件名。
1.linux中的inode在linux中,I node指的是inode节点。
在linux中,文件搜索不是基于文件名的。事实上,I node用于查找和定位文件。我们可以把I节点想象成指针fip。当文件存储在磁盘上时,它肯定会存储在一个磁盘位置。可以想象,既然文件数据是存储在磁盘上的,那么如果我们知道了这个文件数据的地址,当我们要读写文件的时候,是不是可以直接用这个地址来查找文件呢?
是的,在linux下,I-node实际上可以认为是一个指向磁盘上文件存储区域的地址。只是我们不能直接使用这个地址,而是通过文件名间接使用。实际上,node I不仅包含文件数据存储区的地址,还包含很多信息,比如数据大小等等。但是I节点不保存文件名。文件名保存在目录条目中。每个目录条目包含文件名和I节点。
我们可以通过一个图来看目录项、I节点和文件数据之间的关系。
从上图可以看出,目录条目包含了文件名和I节点。
同时你会发现目录项A和目录项B的I节点指向同一个存储区,其中printf(& quot;哈& quot)数据。
这意味着helloA.c和helloB.c的内容是相同的。
I节点号
每个inode都有一个编号(inode number),操作系统使用inode编号来标识不同的文件。
-Linux使用inode编号来标识文件,而不是文件名。对于系统来说,文件名就是inode号的昵称,方便用户识别文件。文件名和索引节点号之间是一对一的关系,每个索引节点号对应一个文件名。
inode号是系统唯一识别的代码,文件名只供用户区分。inode(索引节点)表包含文件系统中所有文件的列表。节点(索引节点)位于表项中,表项包含有关文件的信息(元数据)。
分区后硬盘的结构:
当用户试图在Linux系统中访问一个文件时,系统会首先根据文件名查找其对应的inode号;通过inode号获取inode信息;根据inode信息,看用户是否有访问这个文件的权限;如果是,指向对应的数据块,读取数据;如果没有,它将返回。
访问文件的简单过程:
二、Linux文件存储2.1 inode的数量限制
Inode也会消耗硬盘空间,所以在格式化的时候,操作系统会自动把硬盘分成两个区域:一个是数据区,存储文件数据;另一个是inode区域,它存储inode中包含的信息。每个索引节点的大小通常是128字节或256字节。
通常,您不需要关注单个inode的大小,但是您需要关注inode的总数。格式化时已经设置了索引节点总数——为什么需要关注索引节点总数?因为当inode用完的时候,即使磁盘上还有空间,也不能创建新文件,因为创建文件的时候需要一个inode号与之对应,没有inode就不能创建新文件。执行“df-i”命令,查看对应于每个硬盘分区的信息节点总数以及已使用的信息节点数。
2.2信息节点的内容
Inode包含文件的元信息,具体包括以下内容:
文件中的字节数
文件所有者的用户ID
文件的组ID
读取、写入和执行文件的权限。
链接数量,即有多少文件指向这个inode。
文件的时间戳
有两种方法可以查看文件的信息节点信息。
方法1:统计
优点:可以查看文件inode的详细信息。
方法2:最小二乘法
只能显示信息节点编号。
2.3 Linux系统文件的三个主要时间属性
Linux系统文件的三个主要时间属性(即inode中的时间戳)
Ctime(更改时间)是指文件或目录(属性)上次更改的时间。
Atime(访问时间)是指上次访问文件或目录的时间。
Mtime(修改时间)是指上次修改文件或目录(内容)的时间。
三、inode的特殊作用由于inode号和文件名的分离,部分Unix/Linux系统存在以下现象:
当文件名包含特殊字符时,文件可能无法正常删除。直接删除inode或删除文件。
移动或重命名文件时,仅更改文件名,而不会影响inode编号。
打开文件后,无论文件名如何,系统都会通过信息节点号来识别文件。
修改并保存文件数据后,将生成一个新的inode号(原来的inode号将被释放)。
如何通过删除信息节点编号来删除文件:
方法一(删除前确认信息):查找。/-分钟
方法二(直接删除):查找。/-分钟
评论前必须登录!
注册