dd 命令用于读取、转dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。换并输出数据。

--help获取帮助信息

ddvit指令讲解(快速上手dd命令)(1)

bs=<字节数>,将ibs(输入)与obs(输入)设置成指定的字节数

cbs=<字节数>,每次只转换指定的字节数

conv=<关键字>,指定文件转换方式。可选项如下:

ascii,将EBCDIC转换成ASCII;

ebcdic,将ASCII转换成EBCDIC;

ibm,将ASCII转换成IBM EBCDIC;

block,将换号符号取代为cbs数目的空格符;

unblock,若读取到cbs数目的空格符,则以换行符来取代;

lcase,将大写字符改写为小写;

notrunc,不要截断输出文件;

ucase,将小写字母改为大写;

swab,输入的字节每两个一组,彼此对角;

noerror,及时读取有错误,仍然执行;

sync,以NULL填满输入的块,使块与ibs的大小相同。

count=<块数>,仅读取指定的块数。

ibs=<字节数>,每次读取的字节数

if=<文件>,从文件读取。若未指定此参数,则从标准输入设备读取数据。

of=<文件>,输出到文件。若为指定此参数,则输出到屏幕。

seek=<块数>,一开始输出时,跳过指定的块数。块与obs的大小相同。

skip=<块数>,一开始读取时,跳过指定的块数。块与ibs的大小相同

obs=<字节数>,每次输出的字节数。

例1:备份磁盘sdb到文件sdb.raw

dd if=/dev/sdb of=/backup/sdb.raw

例2:文件内容字母转换为小写

dd if=ddtest2.txt of=ddtest3.txt conv=lcase

例3:生成指定大小文件

dd if=/dev/zero of=test1.txt bs=1M count=2

上述命令执行,将生成一个2M的文件test1.txt

/dev/zero是一个字符设备,它会不断返回0值字节(\0)。

bs代表以字节为单位的块大小(block size,BS)

count代表需要被复制的次数

这里bs为1M,count为2,所以文件时2M

例4:备份一个分区数据到文件内dd if=/dev/sda1 of=backup_disk1.img

例5:用备份恢复分区数据dd if=backup_disk1.img of=/dev/sda1

例6:清空分区数据(很危险,慎用)dd if=/dev/zero of=/dev/sda1

例7:克隆磁盘dd if=/dev/sda of=/dev/sdb

例8:在Linux下,制作开机片dd if=boot.img of=/dev/fd0 bs=1440k

,