我正在学习一些内核开发的教程。我遇到了一个必须使用dd
类似
dd ... if=PBL.bin of=... count=block_number
变量block_number
定义为
The HEX of ($filesize - 1)/512 + 1
其中,是上述命令中给出的$filesize
输入文件的文件大小。PBL.bin
dd
我该如何计算这个值?提前致谢
答案1
关于什么:
printf "%x" `stat -c "%b" PBL.bin`
printf 将以十六进制格式(%x)打印来自 stat 的输出,该输出仅请求文件分配的块数(%b)。
如果您不相信 stat 报告的分配的块数,则手动执行:
printf "%x" $(( (`stat -c "%s" PBL.bin ` - 1) / 512 + 1))
因此,您需要获取文件大小,然后手动进行计算
答案2
我同意dd
接受count
十进制。无论如何,这是 Perl 获得您要求的方法:
perl -e 'printf ("%x\n", -s "PBL.bin")'