Linux 命令DD
名字
dd - 转换并复制文件
大纲
dd [ OPERAND ] ...
dd 选项
描述
根据操作数复制文件,转换和格式化。
bs = BYTES
一次读写BYTES字节(默认值:512);
覆盖ibs和obs
cbs = BYTES
一次转换 bytes 个字节,即转换缓冲区大小
conv = CONVS
按照逗号分隔符号列表转换文件
count = N
仅复制N个输入块
ibs = BYTES
一次读入 bytes 个字节(即一个块大小为 bytes 个字节,默认值:512)
if = FILE
输入文件名,缺省为标准输入
iflag = FLAGS
根据逗号分隔符号列表读取
obs = BYTES
一次写 bytes 个字节(即一个块大小为 bytes 个字节,默认值:512)
of= FILE
输出文件名,缺省为标准输出
oflag = FLAGS
写入按照逗号分隔符号列表
seek = N
从输出文件开头跳过 blocks 个块后再开始复制。
(通常只有当输出文件是磁盘或磁带时才有效)
skip= N
从输入文件开头跳过 blocks 个块后再开始复制
status= LEVEL
要打印到stderr的信息的级别;
'none'除了错误消息之外都禁止所有内容,
'noxfer'抑制最终传输统计,
'progress'显示周期传输统计
N和BYTES后面可能跟随以下乘法后缀:c = 1,w = 2,b = 512,kB= 1000,K = 1024,MB = 1000 * 1000,M = 1024 * 1024,xM = M,GB = 1000 * 1000 * 1000,G = 1024 * 1024 * 1024,依此类推T,P,E,Z,Y。
每个CONV符号可以是:
ascii
转换 EBCDIC 为 ASCII
ebcdic
转换 ASCII 为 EBCDIC
ibm
转换 ASCII 为 alternate EBCDIC
block
把每一行转换为长度为 cbs 的记录,不足部分用空格填充
unblock
使每一行的长度都为 cbs ,不足部分用空格填充
lcase
把大写字符转换为小写字符。
ucase
把小写字符转换为大写字符
sparse try to seek rather than write the output for NUL input blocks
swab 交换输入的每对字节。
sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐
noerror 出错时不停止。
notrunc 不截短输出文件。
swab 交换每对输入字节
sync 每个输入块用NULs到ibs-size;
与block或unblock一起使用时,
如果输出文件已经存在则填充空格而不是NULs
excl 失败不创建输出文件
notrunc 不截断输出文件
noerror 读取错误后继续
fdatasync 物理写入输出文件数据同样在完成
fsync 之前同样,还要写元数据
每个FLAG符号可以是:
追加追加模式(仅对输出有意义;建议使用conv = notrunc)
direct 读写数据采用直接IO方式
directory 读写失败除非是directory
dsync 读写数据采用同步IO
sync 同上,但是针对是元数据
fullblock 堆积满block(accumulate full blocks of input )(iflag only)
累积整个输入块(仅iflag)
nonblock 读写数据采用非阻塞IO方式
noatime 读写数据不更新访问时间
nocache 请求删除缓存。 另请参阅oflag = sync
noctty 不对dd使用指定的文件作为控制终端
nofollow 不跟随符号链接
count_bytes 将'count = N'视为字节计数(仅限iflag)
skip_bytes 将'skip = N'视为字节计数(仅限iflag)
seek_bytes 处理'seek = N'作为字节计数(仅限oflag)
将USR1信号发送到正在运行的'dd'进程使其将I / O统计信息打印为标准错误,
然后重新开始复制。
选项包括:
--help
显示此帮助并退出
--version
输出版本信息并退出
参考:
linux 命令 DD手册
使用 dd 命令进行硬盘 I/O 性能检测
Linux 中用 dd 命令来测试硬盘读写速度