这两个 dd 命令有什么区别?

Roc*_*cky 24 dd

只要它们乘以相同的值,两个dd具有不同bsandcount值的命令有什么区别?例如:

  1. dd if=/dev/random of=aa bs=1G count=2
  2. dd if=/dev/random of=aa bs=2G count=1

roz*_*acz 26

就最终结果而言,他们也会这样做。不同之处在于如何dd处理数据。实际上,您的两个示例在这方面都非常极端:该bs参数dd表明在输出之前应该将多少数据缓冲到内存中。

因此,本质上,第一个命令将尝试以两个 1GB 的块读取 2GB,而后者将尝试一次读取整个 2GB,然后将其输出到aa文件中。


Mat*_*teo 18

结果将是相同的,但在第一种情况下dd将写入两个 1GB 块,而在第二个 2GB 块中。不同之处在于dd将复制的块保留在内存中。在第一种情况下您将需要 1GB 的 RAM,在第二种情况下需要 2GB。

在我看来,没有必要使用这么大的块。您可以进行一些测试,但在我的情况下,我使用更小的块(< 1MB)实现了更高的速度


gol*_*mar 9

第一个会占用1G内存,用输入文件中的数据填充它并输出它,两次。

第二个会占用2G内存,用输入文件中的数据填充并输出。