Linux 文件系统为每个文件都分配两个数据结构,索引节点(index
node)和目录项(directory entry)。它们主要用来记录文件的元信息和目录结构。
索引节点,简称为 inode,用来记录文件的元数据,比如 inode 编号、文件大小、访问
权限、修改日期、数据的位置等。索引节点和文件一一对应,它跟文件内容一样,都会
被持久化存储到磁盘中。所以记住,索引节点同样占用磁盘空间
df -hi /目录名
查看节点的存储容量
目录项,简称为 dentry,用来记录文件的名字、索引节点指针以及与其他目录项的关联
关系。多个关联的目录项,就构成了文件系统的目录结构。不过,不同于索引节点,目
录项是由内核维护的一个内存数据结构,所以通常也被叫做目录项缓存。
索引节点是每个文件的唯一标志,而目录项维护的正是文件系统的树状结构。
目录项和索引节点的关系是多对一,你可以简单理解为,一个文件可以有多个别名。
举个例子,通过硬链接为文件创建的别名,就会对应不同的目录项,不过这些目录项本质
上还是链接同一个文件,所以,它们的索引节点相同。
