cat 可以用来克隆一个分区吗?

Gre*_*zzo 6 linux bash clone cat dd

例如,我可以这样做:

cat /dev/sda1 > /dev/sda2
Run Code Online (Sandbox Code Playgroud)

而不是使用 dd,如果没有,为什么这不起作用?

slh*_*hck 10

原则上,您可以使用两者之一。有几个重要的区别,但没有一个适用于这里。

  • 使用>重定向时,目标文件被打开并被截断。只有这样它才会被写入。然而,这不适用于块设备——它们有固定的大小,所以“截断”对它们没有任何作用。

  • 随着cat你不能轻易让它只复制第一ñ个字节或跳过/搜索。dd.

  • cat不允许您指定块大小。当块大小被正在使用的文件系统屏蔽时,这在今天无关紧要,但它过去会影响从特定块大小(磁带)读取设备的位置。

  • 对于硬盘,cat可能会稍微快一些(甚至比dd精心选择的块大小还要好,更不用说会减慢速度的默认值了)。