问:
看了一些关于dd和cp的命令,但是我始终无法明白dd和cp之间有什么不同?
不是都可以看成是备份的作用么?还有什么区别呢?
答:
1、dd是对块进行操作的,cp是对文件操作的。
2、比如有两块硬盘,要将第一块硬盘内的数据复制到第二块硬盘上
dd if=/dev/hda of=/dev/hdc bs=4 count=1024
bs表示每次复制的块大小
count表示要复制的次数
这样第二块硬盘的数据布局和第一块是完全一样的(扇区级别,每块扇区上的数据和第一块硬盘都是一样的)
cp只是将第一个硬盘的数据复制到第二块硬盘上,由于系统写硬盘不是顺序写的,哪里有足够的空间就放到哪,所以第二块硬盘相同的扇区号上的数据和第一块硬盘有可能是不一样的。
dd:块级别拷贝
cp:文件目录级别拷贝
举个例子,如图所示。可以看出,dd将原始数据(raw data)按照数据源的格式原封不动的拷贝到目的地;cp将文件和目录拷贝到目的地后按照目的地的格式排列新数据。注意:对于不能以文件或目录格式呈现的数据(如引导启动块的数据),cp无能为力