Linux dd命令

Linux dd命令:转换和复制文件。

Linux dd命令 功能描述

使用dd命令可以转换和复制文件,依照操作数转换并格式化。由于dd命令执行完毕之后,会显示dd过程中数据复制的速度,因此可以使用dd命令来对磁盘的I/O进行测试,希望以其结果作为参考数据,对比不同服务商或不同硬件配置下,磁盘的读写能力。尽管在命令执行完毕之后,会显示一个平均速度,但在执行过程中,是不显示任何信息的,这就导致在复制大文件的时候,等待时间会比较长。

Linux dd命令 语法

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
//通过以上两个命令输出的命令执行时间,可以计算出硬盘的读、写速度

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程