dd命令
- 转换并拷贝一个文件
- 格式
dd [OPERAND]
DD OPTION
描述
OPERANDS
- 拷贝一个文件,根据操作数operands来转换并格式化。operands如下表所示:
命令 | 详解 |
---|
bs=BYTES | 一次最多读入、写出BYTES字节,默认值为512。此参数覆盖ibs 以及obs |
cbs=BYTES | 一次转换BYTES字节 |
conv=CONVS | 按照逗号分隔的符号列表转换文件 |
count=N | 仅仅拷贝N个输入块 |
ibs=BYTES | 一次最多读取BYTES字节(默认值:512) |
if=FILE | 从FILE中读取,而不是stdin |
iflag=FLAGS | 按照逗号分隔的符号列表阅读 |
obs=BYTES | 一次写入字节数(默认值:512) |
of=FILE | 写到FILE而不是stdout |
oflag=FLAGS | 按照逗号分隔符号列表编写 |
seek=N | 在输出开始时跳过N个大小为obs的块 |
skip=N | 在输入开始时跳过N个大小为ibs的块 |
status=LEVEL | 打印到stderr的信息的级别。none 抑制除了错误消息之外的所有东西。noxfer 抑制最终的传送统计数据。progress 显示周期性的传输统计数据 |
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
and so on for T, P, E, Z, Y.
符号 | 详解 |
---|
ascii | from EBCDIC to ASCII |
ebcdic | from ASCII to EBCDIC |
ibm | from ASCII to alternate EBCDIC |
block | pad newline-terminated records with spaces to cbs-size |
unblock | replace trailing spaces in cbs-size records with newline |
lcase | change upper case to lower case |
ucase | change lower case to upper case |
sparse | try to seek rather than write the output for NUL input blocks |
swab | swap every pair of input bytes |
sync | pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs |
excl | 如果输出文件已经存在则失败 |
nocreat | 不创建输出文件 |
notrunc | 不要截断输出文件 |
noerror | 在读错误之后继续 |
fdatasync | 在结束之前,也物理地写入到数据文件数据 |
fsync | 同上,但是也写metadata |
符号名 | 详解 |
---|
append | 追加模式 仅仅对输出有用,建议conv=notrunc |
direct | 直接写到磁盘去 use direct I/O for data |
directory | 除非目录,否则失败 |
dsync | 使用数据的同步IO |
sync | 同上,同时也对metadata同步 |
fullblock | 计算输入的完整的块,仅仅iflag |
nonblock | 使用非阻塞IO |
noatime | 不要更新访问时间 |
nocache | 请求丢弃cache,参考oflag=sync |
noctty | 不要从文件分配控制终端 |
nofollow | 不跟随符号链接 |
count_bytes | 对待count=N 当做一个字节计数,仅仅对于iflag有用 |
skip_bytes | 对待skip=N 当做一个字节计数,仅仅对于iflag有用 |
seek_bytes | 对待seek=N 当做一个字节计数,仅仅对于oflag有用 |
- 发送一个USR1信号到一个正在运行的
dd
进程,会让其打印出IO统计数据到标准错误合然后继续拷贝
OPTIONS
- 选项有:
- –help display this help and exit
- –version output version information and exit
常用方法总结
dd if=XXXX of=YYYY bs=1M count=500
这个就是输入文件是XXXX,输出到文件YYYY,每个读写块的大小一次最多为1M(1024*1024),仅仅拷贝count500个块