曲径通幽论坛

标题: dd -- 转换与拷贝文件 [打印本页]

作者: beyes    时间: 2010-8-2 21:02
标题: dd -- 转换与拷贝文件
格式
dd [OPERAND]...

命令选项
f =输入文件(或设备名称)。

of =输出文件(或设备名称)。

ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。

skip = blocks 跳过读入缓冲区开头的ibs*blocks块。

obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。

bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。

cbs = byte 一次转换bytes字节。

count=blocks 只拷贝输入的blocks块。

conv = ASCII 把EBCDIC码转换为ASCIl码。

conv = ebcdic 把ASCIl码转换为EBCDIC码。

conv = ibm 把ASCIl码转换为alternate EBCDIC码。

conv = block 把变动位转换成固定字符。

conv = ublock 把固定位转换成变动位。

conv = ucase 把字母由小写转换为大写。

conv = lcase 把字母由大写转换为小写。

conv = notrunc 不截短输出文件。

conv = swab 交换每一对输入字节。

conv = noerror 出错时不停止处理。

conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)。

例如:
dd if=/dev/zero bs=512k count=1 of=my.file
上面创建了一个填充大小为 512K 的空文件。

可以使用 split 命令的 -b 选项并对上面文件进行分割出指定的大小:
# ls -lh x*
-rw-r--r-- 1 root root 128K 2012-03-24 16:11 xaa
-rw-r--r-- 1 root root 128K 2012-03-24 16:11 xab
-rw-r--r-- 1 root root 128K 2012-03-24 16:11 xac
-rw-r--r-- 1 root root 128K 2012-03-24 16:11 xad

上面 bs 表示块大小(Block Size),这里指定的是 k,还有其它的单位:
字节(Byte 1B) : c
字(Word 2B) :w
块(Block 512B) :b
千字节(Kilo Byte 1024B) :k
兆字节(Mega Byte 1204KB) :M
G字节(Giga Byte 1024MB


用法举例:http://www.groad.net/bbs/read.php?tid-2498.html




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2