我希望编写一些工具来帮助处理磁盘上的文件系统 UFS,以访问原始数据。我已经了解了很多关于 UFS 的知识,并且知道大多数 Unix/Linux 文件系统都有一些共性。我将读入 FS 结构,然后希望能够像文件系统驱动程序那样遍历事物。现在的困难在于有关 UFS 如何做事的文档。我已经阅读了很多更高级别的内容,但我希望看到类似这样的内容,它适用于 ext2 - http://homepage.smc.edu/morgan_david/cs40/analyze-ext2.htm。
该页面很棒,因为它显示了超级块、inode、目录条目等的完整定义。我还了解了 inode 在其他研究中的工作原理。我已经安装了 FreeBSD 并正在对其进行分析以进行比较,它是相似的。但是我知道有区别。此外,我不确定某些事情是如何完成的,例如查找文件的 inode。ext2 的链接说要这样做-
- 访问根目录的inode(inode 2)以获取根目录的数据位置
- 访问根目录的数据以找到 alpha1 的目录条目
- 访问 alpha1 的条目以获取 alpha1 的 inode 的位置
- 访问 alpha1 的 inode 以获取 alpha1 的数据位置
- 访问 alpha1(字母表)的数据
我不知道第 3 步。好的,我在文件的目录条目中看到了 inode 编号。这如何为您提供 inode 位置?如何找到inode?
更好的参考会很棒。我还没有找到任何可能有帮助的书,但我绝对愿意买一本书。
谢谢你的帮助!