UNIX 文件系统如何形成具有节点的结构
How the UNIX file system forms a structure with nodes
我正在尝试了解 UNIX 文件系统如何处理索引节点。据我了解,目录表示为 table,每个子目录或文件都有一个 [name:inode] 形式的条目。
我感到困惑的是这些目录是如何形成结构的。如果我有一个目录 'root' 包含一个子目录 'home',子目录 'home' 包含一个文件 'file.txt' 那么我相信根目录会有一个条目 ['home':(homes associated inode)]但是这个 link 如何到 'home' 目录 table?
任何帮助或指导将不胜感激,
本
你的理解基本正确。这是一张可能有帮助的图片。我假设已知根目录是 inode 1。所以我们可能有:
索引节点 1:
type: directory
contents:
usr 17
etc 49
home 57
索引节点 57:
type: directory
contents:
dmr 201
scs 857
ben 981
索引节点 981:
type: directory
contents:
.bashrc 1045
projects 1191
file.txt 2043
索引节点 2043:
type: file
contents:
This is
my text file.
这里我展示了你的文本文件的完整路径(或者至少是完整路径)是 /home/ben/file.txt
.
的情况
(我也做了一个很大的简化。通常,文件的内容不是存储在索引节点中,而是存储在其他磁盘块中,索引节点包含指针到那些其他块。)
我正在尝试了解 UNIX 文件系统如何处理索引节点。据我了解,目录表示为 table,每个子目录或文件都有一个 [name:inode] 形式的条目。
我感到困惑的是这些目录是如何形成结构的。如果我有一个目录 'root' 包含一个子目录 'home',子目录 'home' 包含一个文件 'file.txt' 那么我相信根目录会有一个条目 ['home':(homes associated inode)]但是这个 link 如何到 'home' 目录 table?
任何帮助或指导将不胜感激, 本
你的理解基本正确。这是一张可能有帮助的图片。我假设已知根目录是 inode 1。所以我们可能有:
索引节点 1:
type: directory
contents:
usr 17
etc 49
home 57
索引节点 57:
type: directory
contents:
dmr 201
scs 857
ben 981
索引节点 981:
type: directory
contents:
.bashrc 1045
projects 1191
file.txt 2043
索引节点 2043:
type: file
contents:
This is
my text file.
这里我展示了你的文本文件的完整路径(或者至少是完整路径)是 /home/ben/file.txt
.
(我也做了一个很大的简化。通常,文件的内容不是存储在索引节点中,而是存储在其他磁盘块中,索引节点包含指针到那些其他块。)