如何在 Ubuntu 中使用终端查找文件的起始和结束块编号?

如何在 Ubuntu 中使用终端查找文件的起始和结束块编号?

是否有任何命令可以输出文件的开始和结束硬盘块? 解决方案标记为已接受)


更新:

以下答案解决了初始查询。我感谢所有人。但我对 LBA 不适合所示的块范围感到有点困惑fdisk。(但是,将数字减半符合范围;那么这是否意味着 LBA 块大小为 2048?!?)

答案1

使用hdparm

sudo hdparm --fibmap FILENAME

FILENAME您的文件的路径在哪里。

关于你的计算:

97504*512/1024^2=47,6 这就是你这样做的方法。

关于不适合在块范围内:

您在输出中圈出了 NTFS 驱动器fdisk,该驱动器以 LBA 251863039 结束,输出hdparm报告称,测试文件所在的文件系统以 LBA 251863040 开始。因此,您在输出中查看了错误的文件系统fdisk,因为您的文件位于sda2而不是sda1

答案2

您可能正在寻找的工具是tailhead

tail -5 file.txt

head -5 file.txt 

这将为你提供最后 5(尾巴)和前 5 行file.txt 的 (head)

答案3

对于 ext4 文件系统,命令

sudo debugfs /dev/sda1 <<<"blocks /boot/vmlinuz-3.11.0-14-generic"

显示给定文件使用的所有块,以便您可以根据需要提取第一个和最后一个块。

相关内容