dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
dd [OPERAND]... dd OPTION
if=文件名 输入文件名,默认为标准输入。即指定源文件。
of=文件名 输出文件名,默认为标准输出。即指定目的文件。
ibs=bytes 一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes 一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes 同时设置读入/输出的块大小为bytes个字节。
cbs=bytes 一次转换bytes个字节,即指定转换缓冲区大小。
skip=blocks 从输入文件开头跳过blocks个块后再开始复制。
seek=blocks 从输出文件开头跳过blocks个块后再开始复制。
count=blocks 仅拷贝blocks个块,块大小等于ibs指定的字节数。
conv=<关键字>,关键字可以有以下11种:
conversion:用指定的参数转换文件
ascii:转换ebcdic为ascii
ebcdic:转换ascii为ebcdic
ibm:转换ascii为alternate ebcdic
block:把每一行转换为长度为cbs,不足部分用空格填充
unblock:使每一行的长度都为cbs,不足部分用空格填充
lcase:把大写字符转换为小写字符
ucase:把小写字符转换为大写字符
swap:交换输入的每对字节
noerror:出错时不停止
notrunc:不截短输出文件
sync 将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
--help 显示帮助信息
--version 显示版本信息
(1)整盘数据备份与恢复
# 将本地的 /dev/hdx 整盘备份到 /dev/hdy dd if=/dev/hdx of=/dev/hdy # 将 /dev/hdx 全盘数据备份到指定路径的 image 文件 dd if=/dev/hdx of=/path/to/image # 备份 /dev/hdx 全盘数据,并利用 gzip 工具进行压缩,保存到指定路径 dd if=/dev/hdx | gzip >/path/to/image.gz # 将备份文件恢复到指定盘 dd if=/path/to/image of=/dev/hdx # 将压缩的备份文件恢复到指定盘 gzip -dc /path/to/image.gz | dd of=/dev/hdx
(2)将 demo 文件使用 gzip 进行压缩,输出到 demo.tar.gz 文件,如下:
hxstrive@localhost:~$ dd if=demo | gzip > ./demo.tar.gz 0+1 records in 0+1 records out 12 bytes copied, 6.3299e-05 s, 190 kB/s hxstrive@localhost:~$ ll demo.tar.gz -rw-rw-r-- 1 hxstrive hxstrive 32 7月 30 16:15 demo.tar.gz
(3)在 Linux 下制作启动盘,可使用如下命令:
dd if=boot.img of=/dev/fd0 bs=1440k
(4)将 demo 文件中的所有英文字母转换为大写,然后输出到 demo_out 文件,命令如下:
hxstrive@localhost:~$ cat demo hello Linux hxstrive@localhost:~$ dd if=demo of=demo_out conv=ucase 0+1 records in 0+1 records out 12 bytes copied, 0.000333473 s, 36.0 kB/s hxstrive@localhost:~$ cat demo_out HELLO LINUX
更多关于命令详细参考手册,请使用 man 命令或者 --help 参数获取帮助信息