例如,我可以这样做:
cat /dev/sda1 > /dev/sda2
而不是使用 dd,如果不行,为什么这不起作用?
答案1
原则上,您可以使用其中任何一种。两者之间几乎没有什么重要区别,但都不适用于此处。
使用
>
重定向时,目标文件会被打开并截断。然后才会写入。然而,这并不适用于块设备 — 它们具有固定大小,因此“截断”不会对它们产生任何影响。你
cat
不能轻易地告诉它只复制第一个n字节或者跳过/查找。这dd
对于。cat
不允许您指定块大小。现在,当块大小被所使用的文件系统屏蔽时,这不再重要,但它曾经对从具有特定块大小的设备(磁带)读取数据产生影响。对于硬盘,
cat
可能会稍微快一点(甚至比dd
精心选择的块大小更好,更不用说默认的块大小会减慢速度)。