“dd”到最后 512 KB 磁盘的速度最快

tee*_*pap 8 unix dd

我有一个 512G 的磁盘,我想清除磁盘末尾的最后 512k 字节。

我通常通过dd if=/dev/zero of=/dev/da0 整个磁盘清除它。

哪种方式做这个操作最快?

小智 8

正如已经指出的,dd接受seek=BLOCKS参数,它跳过BLOCKS输出文件中的块。

现在您需要知道磁盘的确切大小,如果您想写入最后 512kB。在 linux 上,您可以使用该blockdev --getsz DEVICE命令获取大小,以512B为单位。

所以命令行变成了这样:

dd if=/dev/zero of=$YOUR_DEV bs=512 seek=$(( $(blockdev --getsz $YOUR_DEV) - 1 )) count=1
Run Code Online (Sandbox Code Playgroud)

  • 这个接受的 (?) 答案将文件的最后 512 个字节留空,而问题大约为 512 KB,这是相当大的。命令应该是:`dd if=/dev/zero of=$YOUR_DEV bs=512 seek=$(( $(blockdev --getsz $YOUR_DEV) - 1024 )) count=1024` (5认同)