Dd是Linux/UNIX下非常有用的命令。它的功能是用指定大小的块复制文件,同时执行指定的转换。
dd的主要选项:
如果指定的数字以下列字符结尾,请将其乘以相应的数字:
b=512,c=1,k=1024,w=2,xm=数字m
if=文件
输入文件名,默认为标准输入。
of=文件
输出文件名,默认为标准输出。
ibs=字节
一次读取字节(即块大小为字节)。
obs=字节
一次写入字节(即块大小为字节)。
bs=字节
同时将读写块的大小设置为字节,可以替代ibs和obs。
cbs=字节
一次转换字节,即转换缓冲区大小。
跳过=块
开始复制之前,跳过输入文件开头的块。
寻道=块
开始复制之前,跳过输出文件开头的块。(通常仅当输出文件是磁盘或磁带时有效)
计数=块数
只复制块块,块大小等于ibs指定的字节数。
conv=转换[,转换.]
用指定的参数转换文件。
转换参数:
ascii将EBCDIC转换为ASCII。
Ebic将ASCII转换为ebcdic。
将ibm ASCII转换为备用EBCDIC。
将每一行block转换成长度为cbs的记录,不足部分用空格填充。
疏通
把每一行的长度做成cbs,并把空白填上。
Lcase将大写字符转换为小写字符。
Ucase将小写字符转换为大写字符。
Swab交换每对输入的字节。不同于
Unix dd,当奇数个
读取字节。如果输入文件包含
奇数个字节,最后一个字节是
简单地复制(因为没有什么可
与之交换)。
没有错误
出了问题不要停下来。
notrunc
不要截断输出文件。
Sync将每个输入块填充到ibs字节,不足部分用NUL字符填充。
因为dd命令允许二进制读写,所以特别适合在原始物理设备上进行输入/输出。例如,您可以使用以下命令为软盘创建一个映像文件:
DD if=/dev/fd0 of=disk . img bs=1440k
有趣的是,这个图像文件可以通过HD-Copy和Winimage等工具读取。例如,将第一个硬盘的前512个字节保存为文件:
DD if=/dev/hda of=disk . MBR bs=512 count=1