深入了解 Linux 文件系统与内核启动机制
传统文件系统内部结构
传统的 Unix 文件系统主要由两部分组成:用于存储数据的数据块池,以及管理该数据池的数据库系统。这个数据库以 inode 数据结构为核心。inode 是一组描述特定文件的数据,包括文件类型、权限,以及最重要的文件数据在数据池中的位置。inode 通过 inode 表中的编号进行标识。
文件名和目录同样以 inode 的形式实现。目录 inode 包含一个文件名列表以及指向其他 inode 的对应链接。
下面是一个实际示例,展示如何创建新的文件和目录:
$ mkdir dir_1
$ mkdir dir_2
$ echo a > dir_1/file_1
$ echo b > dir_1/file_2
$ echo c > dir_1/file_3
$ echo d > dir_2/file_4
$ ln dir_1/file_3 dir_2/file_5
这里, dir_2/file_5 是 dir_1/file_3 的硬链接,意味着这两个文件名实际上代表同一个文件。
文件系统的用户级表示如下:
(root)
dir_1
dir_2
file_1
file_2
file_3
file_4
file_5
其 inode 结构如下:
| inode 编号 | 链接计
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



