dd命令

dd命令用于复制文件并对原文件的内容进行转换和格式化处理

语法 dd -option

常用参数
描述

if

指定源文件,如果不指定,默认会从stdin中读取

of

指定目录文件,如果不指定,默认会将stdout作为默认输出

bs

指定字节单位的块大小,单位有c(1B),w(2B),b(块 512B),k(1024B),M,G

conut

指定被复制的次数

iflag

指定输入(源)时的行为特征

oflag

指定输出(目标)时的行为特征

flag参数说明

参数
描述

append

追加模式(仅对输出有意义;隐含了conv=notrunc)

direct

使用直接I/O 存取模式

directory

除非是目录,否则 directory 失败

dsync

使用同步I/O 存取模式

sync

与上者类似,但同时也对元数据生效

fullblock

为输入积累完整块(仅iflag)

nonblock

使用无阻塞I/O 存取模式

noatime

不更新存取时间

nocache

丢弃缓存数据

noctty

不根据文件指派控制终端

nofollow

不跟随链接文件

示例:

# 从/dev/zer0文件每次复制1M,复制10次,在/tmp目录下生成一个zero.txt文件
dd if=/dev/zero of=/tmp/zero.txt bs=1M count=10

# 整盘复制
dd if=/dev/sda of=/dev/sdb

# 测试硬盘性能
# 读
dd if=/dev/sda of=/dev/null bs=1M count=10 iflag=nocache

# 写
dd if=/dev/zero of=/path/ bs=1M count=10 oflag=direct

最后更新于