Linux中的inode是什么以及如何使用它们?


Linux中的所有内容都被认为是保持一致性的文件。其中包括硬件设备,打印机,目录和进程。常规文件(例如音乐,文本,视频和其他多媒体文件)也具有与之相关联的称为元数据的其他数据。

Linux中的Inode是什么?索引节点条目是Linux文件系统 的基础。它们管理有关文件的元数据,并且是Linux内部工作的重要组成部分。

文件系统的结构是什么?

文件系统分为两部分-数据块和索引节点。块的数量一旦创建便固定,并且无法更改。

名称,路径,位置,链接和其他文件属性不在目录中。目录只是简单的表,其中包含具有匹配的inode编号的文件名。

您可以创建一个硬链接,从而为同一文件创建多个名称。创建硬链接时,它还会在带有索引节点的表中创建一个新名称,但不会移动文件。

如果要移动大文件,将需要很长时间。在新目录中创建名称条目并删除旧条目会更有效。您也可以用相同的方式重命名文件。

In_content_1全部:[300x250] / dfp:[640x360]->

层次结构的顶部是文件系统本身。在文件系统中是文件名。文件名链接到inode。索引节点链接到物理数据。

什么是Linux中的Inode? strong>

inode是一种数据结构。它在文件系统上定义文件或目录,并存储在目录条目中。索引节点指向组成文件的块。索引节点包含读取文件所需的所有管理数据。每个文件的元数据 都存储在表结构的inode中。

当使用按名称引用文件的程序时,系统将在文件所在的目录条目文件中查找拉起相应的inode。这样可以为您的系统提供执行处理或操作所需的文件数据和信息。

Inode通常位于分区的开始 附近。它们存储与文件关联的所有信息,但文件名和实际数据除外。任何Linux目录中的所有文件都具有文件名和索引节点号。用户可以通过引用索引节点号来检索文件的元数据。

文件名和索引节点号存储在单独的索引中,并链接到索引节点。您可以链接到代表文件的元数据。可能有多个文件名链接到一个数据或inode,如下图所示。

什么是Inode号?

Linux结构中的每个inode都有一个唯一的编号。它也称为索引号,并具有以下属性:

  • 大小
  • 所有者
  • 日期/时间
  • 权限和访问控制
  • 磁盘上的位置
  • 文件类型
  • 链接数
  • 有关文件的其他元数据
  • 要检查inode编号列表,请使用以下命令:

    ls -i

    下面的屏幕快照显示了一个目录,其中包含索引节点编号出现在最左列。

    来源:Linux.com

    Inode如何工作?

    创建新文件时,将为其分配文件名和索引节点号。两者都作为条目存储在目录中。运行ls命令(ls -li)将向您显示存储在目录中的文件名和索引节点编号的列表。

    使用以下命令列出索引节点的信息每个文件系统。

    df -hi

    您正在使用多少个inode? h4>

    一种方法文件系统空间不足是要用完所有inode。即使磁盘上有足够的可用空间,也将无法创建新文件。

    使用所有inode也会导致系统突然停止。要查看有关索引节点使用情况的统计信息列表,例如已使用,可用和已用百分比,请键入以下命令:

    sudo df -ih

    使用索引节点的其他方式

    在Linux中,索引节点的工作方式使其不可能有冲突的索引节点编号。无法在不同文件系统之间创建硬链接。但是,您可以在不同文件系统之间使用软链接。您可以删除原始文件,并且仍然可以通过硬链接获得数据。

    通过删除文件,您要做的就是删除指向特定inode编号的名称之一。数据将一直保留,直到您删除与同一inode编号关联的所有名称。由于inode的工作方式,Linux系统更新不需要重新启动系统。

    一个进程可以同时使用一个库文件,另一个进程用一个更新的更新版本替换同一文件并创建一个新的inode。正在运行的进程继续使用旧文件。下次您使用相同的过程时,它将使用新版本。

    用户不会直接与inode进行交互,但是它们确实代表了Linux文件结构的基本组成部分。

    相关文章:


    29.02.2020