深入探索EXT2文件系统:操作、遍历与实现
1. 实验操作
在Linux系统中,我们可以进行一系列与EXT2文件系统相关的实验操作。
-挂载与操作文件系统:首先,将mydisk挂载到Linux系统下。接着,在挂载的文件系统中创建新的目录,并将文件复制到该文件系统中。完成操作后,卸载mydisk。之后,再次运行dir.c程序查看输出,确保每个条目的name_len是名称字段中字符的准确数量,并且每个rec_len是4的倍数(为了对齐),除了最后一个条目,其rec_len覆盖剩余的块长度。
-编写搜索函数:给定一个指向目录索引节点(INODE)的指针,编写一个search函数,用于搜索具有给定名称的目录条目。如果找到,返回其索引节点号;否则返回0。函数原型如下:
int search(INODE *dir, char *name);2. 遍历EXT2文件系统树
当我们有一个EXT2文件系统和一个文件的路径名(例如/a/b/c)时,如何找到该文件呢?关键在于找到其索引节点(inode),以下是具体的遍历算法。
2.1 遍历算法步骤
- 读取超级块 </