Unix 索引节点对目录的处理

Unix 索引节点对目录的处理,unix,filesystems,operating-system,Unix,Filesystems,Operating System,我试图了解目录和文件在文件系统级别是如何相互关联的,特别是*nix文件系统,如FFS或EXT 我从概念上理解,inode有一些元数据和指向文件位置的指针,但它们如何保存目录信息并知道哪些文件在哪个目录中?您可以从阅读此内容开始 你可以先读一下这篇文章 目录也有索引节点。但是,它不包含指向文件内容位置的指针(因为它不是文件),而是指向目录的文件/子目录的索引节点(因此它基本上是一个文件,但带有特殊的内容/标志)。此外,它还包含指向父目录及其自身的指针 要到达某个文件,只需遍历目录结构,就像遍历树一

我试图了解目录和文件在文件系统级别是如何相互关联的,特别是*nix文件系统,如FFS或EXT


我从概念上理解,inode有一些元数据和指向文件位置的指针,但它们如何保存目录信息并知道哪些文件在哪个目录中?

您可以从阅读此内容开始

你可以先读一下这篇文章
目录也有索引节点。但是,它不包含指向文件内容位置的指针(因为它不是文件),而是指向目录的文件/子目录的索引节点(因此它基本上是一个文件,但带有特殊的内容/标志)。此外,它还包含指向父目录及其自身的指针

要到达某个文件,只需遍历目录结构,就像遍历树一样—要找到文件的完整路径,伪代码如下所示:

parts = []
inode = inode_of(file);
parts.add(inode.name);
while(inode.parent):
    parts.add(inode.parent.name)
    inode = inode.parent
path = parts.reverse.join('/')

目录也有一个inode。但是,它不包含指向文件内容位置的指针(因为它不是文件),而是指向目录的文件/子目录的索引节点(因此它基本上是一个文件,但带有特殊的内容/标志)。此外,它还包含指向父目录及其自身的指针

要到达某个文件,只需遍历目录结构,就像遍历树一样—要找到文件的完整路径,伪代码如下所示:

parts = []
inode = inode_of(file);
parts.add(inode.name);
while(inode.parent):
    parts.add(inode.parent.name)
    inode = inode.parent
path = parts.reverse.join('/')

目录只是一种特殊的文件。其inode在mode字段中设置了S_IFDIR位。它的内容是一些保存文件名和inode编号的数据结构。

目录只是一种特殊的文件。其inode在mode字段中设置了S_IFDIR位。它的内容是一些保存文件名和索引节点号的数据结构