gpt4 book ai didi

c - 我如何读取和遍历 inode

转载 作者:太空狗 更新时间:2023-10-29 17:12:39 25 4
gpt4 key购买 nike

我已经在 EXT2 文件系统中打开了 super block 和组描述符,但我不知道如何读取例如根目录或其中的文件...

这是我得到的一些东西

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);

最佳答案

我不太确定你在问什么,但这里是:

要读取目录的内容,您基本上需要查看其指针 block 内部,查看指针指定的磁盘上的相应 block ,并读取在那里找到的内容以获得目录中文件的描述.

这是一个相当高级的建议,但剩下的实际上归结为处理系统结构本身的细节。

我建议看一下第 4 章:

https://www.nongnu.org/ext2-doc/ext2.html

还要确保你清楚你的案例中涉及的特定结构,这些结构应该在作业的某个地方为你提供...

关于c - 我如何读取和遍历 inode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6287606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com