Linux dd命令:转换和复制文件。
Linux dd命令 功能描述
使用dd命令可以转换和复制文件,依照操作数转换并格式化。由于dd命令执行完毕之后,会显示dd过程中数据复制的速度,因此可以使用dd命令来对磁盘的I/O进行测试,希望以其结果作为参考数据,对比不同服务商或不同硬件配置下,磁盘的读写能力。尽管在命令执行完毕之后,会显示一个平均速度,但在执行过程中,是不显示任何信息的,这就导致在复制大文件的时候,等待时间会比较长。
Linux dd命令 语法
dd [操作数]
dd [选项]
命令中各选项的含义如表所示。
Linux dd命令 示例
将/dev/sda1分区备份到/root/sda1文件
[root@rhel ~]# dd if=/dev/sda1 of=/root/sda1
记录了204800+0 的读入
记录了204800+0 的写出
104857600字节(105 MB)已复制,5.89393 秒,17.8 MB/秒
将/dev/sda整个磁盘备份到/dev/sdb磁盘
[root@rhel ~]# dd if=/dev/sda of=/dev/sdb
将/dev/sdb磁盘数据备份到/root/sdb文件
[root@rhel ~]# dd if=/dev/sdb of=/root/sdb
将/root/sdb备份文件恢复到指定磁盘
[root@rhel ~]# dd if=/root/sdb of=/dev/sdb
备份/dev/sdb磁盘数据,并利用gzip进行压缩,保存为/root/sdb.gz文件
[root@rhel ~]# dd if=/dev/sdb | gzip > /root/sdb.gz
将压缩的/root/sdb.gz备份文件恢复到指定磁盘
[root@rhel ~]# gzip -dc /root/sdb.gz | dd of=/dev/sdb
备份MBR(主引导扇区)信息到/root/mbr文件
[root@rhel ~]# dd if=/dev/sda of=/root/mbr bs=512 count=1
//count=1指仅复制一个块,bs=512指块大小为512个字节
恢复MBR
[root@rhel ~]# dd if=/root/mbr of=/dev/sda
备份软盘
[root@rhel ~]# dd if=/dev/fd0 of=/root/fd bs=1440k count=1
//即块大小为1.44MB
复制内存中的数据到/root/mem文件
[root@rhel ~]# dd if=/dev/mem of=/root/mem bs=1024
dd: 正在读入’'/dev/mem'': 不允许的操作
记录了1028+0 的读入
记录了1028+0 的写出
1052672字节(1.1 MB)已复制,0.035725 秒,29.5 MB/秒
复制光盘内容到指定文件夹,并保存为/root/dvd文件
[root@rhel ~]# dd if=/dev/cdrom of=/root/dvd
销毁/dev/sda1磁盘分区数据
[root@rhel ~]# dd if=/dev/urandom of=/dev/sda1
//利用随机的数据填充磁盘或磁盘分区,在某些必要的场合可以用来销毁数据
测试硬盘的读写速度
[root@rhel ~]# dd if=/dev/zero of=/root/zero bs=1024 count=1000000
[root@rhel ~]# dd if=/root/zero bs=64k | dd of=/dev/null
//通过以上两个命令输出的命令执行时间,可以计算出硬盘的读、写速度