我已经在 EXT2 文件系统中打开了超级块和组描述符,但我不知道如何读取根目录或其中的文件...
这是我得到的一些内容
fd=open("/dev/sdb2", O_RDONLY);
lseek(fd, SuperSize, SEEK_SET);
read(fd, &super_block, SuperSize);
lseek(fd, 4096, SEEK_SET);
read(fd, &groupDesc, DescriptSize);
但下一部分似乎不起作用......
lseek(fd, super_block.s_log_block_size*groupDesc.bg_inode_table, SEEK_SET);
lseek(fd, InodeSize*(EXT2_ROOT_INO-1), SEEK_CUR);
read(fd, &root, InodeSize);
我不太确定你在问什么,但这里是:
要读取目录的内容,您基本上需要查看其指针块的内部,查看指针指定的磁盘上的相应块,并读取在那里找到的内容以获取目录中文件的描述。
这是一个相当高水平的建议,但其余的实际上归结为破坏系统结构本身的细节。
我建议您查看第 4 章:
https://www.nongnu.org/ext2-doc/ext2.html https://www.nongnu.org/ext2-doc/ext2.html
还要确保您清楚与您的案例相关的具体结构,这些结构应该在作业中的某个位置为您提供......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)