在Linux中,dd命令用于读取、转换和输出数据,它可从标准输入或文件中读取数据并输出到指定文件或标准输出中。该命令使用参数如下:
其中”=“后面的为设置的参数
If = <文件名>
Of=<文件名>
ibs=:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=:同时设置读入/输出的块大小为bytes个字节。
cbs=:一次转换bytes个字节,即指定转换缓冲区大小。
skip=s:从输入文件开头跳过blocks个块后再开始复制。
seek=:从输出文件开头跳过blocks个块后再开始复制。
count=:仅拷贝blocks个块,块大小等于ibs指定的字节数。
conv=<关键字>,关键字可以有以下11种:
conversion:用指定的参数转换文件。
ascii:转换ebcdic为ascii
ebcdic:转换ascii为ebcdic
ibm:转换ascii为alternate ebcdic
block:把每一行转换为长度为cbs,不足部分用空格填充
unblock:使每一行的长度都为cbs,不足部分用空格填充
ucase:把小写字符转换为大写字符
swab:交换输入的每对字节
noerror:出错时不停止
notrunc:不截短输出文件
sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
--help:显示帮助信息
--version:显示版本信息
实例:
创建一个100M的空文件
dd if=/dev/zero of=hello.txt bs=100M count=1
将本地的/dev/hdx整盘备份到/dev/hdy
dd if=/dev/hdx of=/dev/hdy
测试硬盘读写速度
通过两个命令输出的执行时间,可以计算出测试硬盘的读/写速度:
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
/dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!
/dev/zero,是一个输入设备,你可你用它来初始化文件。