索引节点和目录项

Linux 文件系统为每个文件都分配两个数据结构,索引节点(index

node)和目录项(directory entry)。它们主要用来记录文件的元信息和目录结构。


索引节点,简称为 inode,用来记录文件的元数据,比如 inode 编号、文件大小、访问

权限、修改日期、数据的位置等。索引节点和文件一一对应,它跟文件内容一样,都会

被持久化存储到磁盘中。所以记住,索引节点同样占用磁盘空间

df -hi /目录名

查看节点的存储容量


目录项,简称为 dentry,用来记录文件的名字、索引节点指针以及与其他目录项的关联

关系。多个关联的目录项,就构成了文件系统的目录结构。不过,不同于索引节点,目

录项是由内核维护的一个内存数据结构,所以通常也被叫做目录项缓存。


索引节点是每个文件的唯一标志,而目录项维护的正是文件系统的树状结构。

目录项和索引节点的关系是多对一,你可以简单理解为,一个文件可以有多个别名。


举个例子,通过硬链接为文件创建的别名,就会对应不同的目录项,不过这些目录项本质

上还是链接同一个文件,所以,它们的索引节点相同。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一个基本的计算机系统由“硬件”和“软件”组成,一台Linux设备,主要的组成如下图所示: 一般情况下,我们所说的L...
    时待吾阅读 5,617评论 0 16
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,794评论 0 9
  • Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。 内核、shell和文件系统一起形成了基本...
    请爱护小动物阅读 8,109评论 0 22
  • 一,Linux文件系统 1,文件系统是什么 文件系统是操作系统用于明确存储设备(常见的有磁盘,固态硬盘等)或分区上...
    千幻流光阅读 11,196评论 0 3
  • Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本...
    偷风筝的人_阅读 8,481评论 1 17