Dd不能正常工作?

时间:2014-09-08 01:12:21

标签: linux unix dd

我对Linux不太熟悉,请原谅无知。我正在尝试使用以下命令将文件转储到虚拟软盘:

dd if=a.out of=image bs=1024 count=1 conv=notrunc

它创建的图像文件大小与a.out(1kB)完全相同。但是在我朋友的笔记本电脑上,他的图像文件是1.5MB。他是正确的(正如我的教授所说的那样)然而我的不是。我甚至尝试使用他的a.out文件进行检查,结果却产生了相同的错误结果。

关于为什么会这样做以及如何修复它的任何输入?

2 个答案:

答案 0 :(得分:2)

您朋友的目标文件可能已经 1.5M(或普通软盘映像为1.44M)。 notrunc表示在写入文件之前不会截断文件,因此,如果将1K写入较大的文件,则只覆盖第一个1K,其余的保持不变。

如果您想要开始使用1.44M文件,可以先使用以下命令创建它:

dd if=/dev/zero of=image bs=1440k count=1

然后使用你的命令覆盖它的第一位。

答案 1 :(得分:1)

这个dd语句将复制1024个字节,因此您获得了预期的结果。所以,教授是错的,或者你错误地复制了命令。