使用方式
dd if=path/to/input_file of=/path/to/output_file bs=block_size count=number_of_blocks
示例
- 测试硬盘写能力
time dd if=/dev/zero of=/testw.dbf bs=4k count=100000
- 测试磁盘读能力
time dd if=/dev/sdb of=/dev/null bs=4k
- 测试同时读写能力
time dd if=/dev/sdb of=/testrw.dbf bs=4k
参数
if=file 输入文件名,缺省为标准输入
of=file 输出文件名,缺省为标准输出
ibs=bytes 一次读入 bytes 个字节(即一个块大小为 bytes 个字节)
obs=bytes 一次写 bytes 个字节(即一个块大小为 bytes 个字节)
bs=bytes 同时设置读写块的大小为 bytes ,可代替 ibs 和 obs
cbs=bytes 一次转换 bytes 个字节,即转换缓冲区大小
skip=blocks 从输入文件开头跳过 blocks 个块后再开始复制
seek=blocks 从输出文件开头跳过 blocks 个块后再开始复制(通常只有当输出文件是磁盘或磁带时才有效)
count=blocks 仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数
conv=conversion[,conversion...] 用指定的参数转换文件。
iflag=FLAGS 指定读的方式FLAGS,参见“FLAGS参数说明”
oflag=FLAGS 指定写的方式FLAGS,参见“FLAGS参数说明”
#conv 转换参数:
ascii 转换 EBCDIC 为 ASCII
ebcdic 转换 ASCII 为 EBCDIC
ibm 转换 ASCII 为 alternate EBCDIC
block 把每一行转换为长度为 cbs 的记录,不足部分用空格填充
unblock 使每一行的长度都为 cbs ,不足部分用空格填充
lcase 把大写字符转换为小写字符
ucase 把小写字符转换为大写字符
swab 交换输入的每对字节
noerror 出错时不停止
notrunc 不截短输出文件。
sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐