![以下 dd 命令出现问题](https://linux22.com/image/158111/%E4%BB%A5%E4%B8%8B%20dd%20%E5%91%BD%E4%BB%A4%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我是新手,所以请耐心等待......
我有这个命令:
tr '\\0' '\\377' < /dev/zero | dd bs=4096 count=1484095 of=/path/one
输出:
1+1484094 records in
1+1484094 records out
8412124 bytes transferred in 23.670 secs (355391 bytes/sec)
并且它不会针对洞空间执行,这意味着bs
*count
字节(6078853120 字节)。正如你所看到的,它只写入了 8412124 字节。我已经添加了废话和数数以加快操作速度。
问题出在哪里?
答案1
正如评论所提到的,当dd
读取一个块时,它可能会得到不完整的读取。然后它将其写入目标,只是它不完整,因此该块仅包含部分数据。
基本上,dd
这不是您想要使用的工具。它很少是在任何地方使用的工具,但它的使用很常见,只是因为它很常见。
看起来你想读取 6078853120 字节,所以只需使用head
即可。
tr '\\0' '\\377' < /dev/zero | head -c 6078853120 > /path/one