Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UNIX内核如何从文件名中获取索引节点?_Unix - Fatal编程技术网

UNIX内核如何从文件名中获取索引节点?

UNIX内核如何从文件名中获取索引节点?,unix,Unix,我对UNIX内核如何从文件名中获取inode感到困惑。假设我有文件“/usr/data/tmp/testme.txt”。内核如何定位它的inode?每个目录都存储为记录文件,在该记录中有目录本地文件名(“testme.txt”)和inode的编号。每个目录都存储为记录文件,在该记录中有目录本地文件名(“testme.txt”)以及inode的编号。[http://www.linuxquestions.org/questions/blog/mr-ameya-sathe-352399/inode-a

我对UNIX内核如何从文件名中获取inode感到困惑。假设我有文件“/usr/data/tmp/testme.txt”。内核如何定位它的inode?

每个目录都存储为记录文件,在该记录中有目录本地文件名(“testme.txt”)和inode的编号。

每个目录都存储为记录文件,在该记录中有目录本地文件名(“testme.txt”)以及inode的编号。

[http://www.linuxquestions.org/questions/blog/mr-ameya-sathe-352399/inode-and-its-corresponding-filename-2126/]

ls-i [http://www.cyberciti.biz/tips/understanding-unixlinux-filesystem-inodes.html]

以上是链接。。
此帖子可以删除或合并。很抱歉重复了这个问题。

[http://www.linuxquestions.org/questions/blog/mr-ameya-sathe-352399/inode-and-its-corresponding-filename-2126/]

ls-i [http://www.cyberciti.biz/tips/understanding-unixlinux-filesystem-inodes.html]

以上是链接。。
此帖子可以删除或合并。很抱歉重复了这个问题。

从本质上讲,整个路径被分解为多个组件,然后自上而下解析目录项和装入点。绝对路径和相对路径的情况略有不同。这看起来很慢,但内核为名称查找做了相当多的缓存。传统上,这是VFS中的
namei()
函数。例如,您可以尝试遵循(公认非常复杂的)代码。

基本上,整个路径被分解为组件,然后自上而下解析目录项和装入点。绝对路径和相对路径的情况略有不同。这看起来很慢,但内核为名称查找做了相当多的缓存。传统上,这是VFS中的
namei()
函数。例如,您可以尝试遵循(公认非常复杂的)代码。

+1。目录实际上是从名称到索引节点的键值映射。目录实际上是从名称到索引节点的键值映射。