为什么我在 hexdump 或 dd 中看不到 inode 数据?

为什么我在 hexdump 或 dd 中看不到 inode 数据?

我不太熟悉 Linux 内核中的文件系统层,但我认为dd并且hexdump没有获取 inode 信息,因为它们只获取open()read()系统调用,但我可能是大错特错了。也许索引节点信息甚至存在于十六进制转储中,但我只是看不到它。

答案1

inode数据不在文件中:如果您使用文本编辑器打开文件并输入hello world,那么只有这 11 个字节会进入该文件。每个字符一个(如果字符是 ASCII,但其他字符可能是 2、3、4 或 5 个字节 ☺)。文件大小、权限、时间等都在 inode 中。该 inode 不在文件中。

使用stat来查看inode.

答案2

你最终想做什么?

如果您hexdumpdd部分原始数据位于 inode 所在的块,那么......好吧,ddhexdump显示该数据......

用于dumpe2fs /dev/<device> | less查找 inode 的存储位置。

相关内容