一、dd命令的功能
主用功能是用于拷贝文件,也就是用指定大小的块去拷贝一个文件,并在拷贝的同时进行指定的转换(默认从标准输入拷贝到标准输出,这意味dd可以在管道中使用)。这个拷贝过程简单理解就是读取,转换并输出数据。
dd可以从标准输入或者文件读取数据,依指定的格式来转换数据,再输出到文件,设备或标准输出。
二、dd命令的参数注释
1、 if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
2、of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
3、读入或输出
(1)bs=bytes:同时设置读入/输出的块大小为bytes个字节。
(2)ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
(3)obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
4、iflag=FLAGS:指定读的方式未FLAGS,参见“FLAGS参数说明"
oflag=FLAGS:指定读的方式未FLAGS,参见“FLAGS参数说明"
FLAGS参数说明:
(1)direct:读写数据采用直接IO方式;
(2)directory:读写失败除非是directory;
(3)dsync:读写数据采用同步io
(4)sync:同上,但是针对是元数据
(5)fullblock:堆积满block(accumulate full blocks of input) (iflag only);
(6)nonblock:读写数据采用非阻塞IO方式
(7)noatime:读写数据不更新访问时间
5、cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
6、skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
7、seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
8、 count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
9、conv=conversion:用指定的参数转换文件。
(1)ascii:转换ebcdic为ascii
(2)ebcdic:转换ascii为ebcdic
(3)ibm:转换ascii为alternate ebcdic
(4)block:把每一行转换为长度为cbs,不足部分用空格填充
(5)unblock:使每一行的长度都为cbs,不足部分用空格填充
(6)lcase:把大写字符转换为小写字符
(7)ucase:把小写字符转换为大写字符
(8)swab:交换输入的每对字节
(9)noerror:出错时不停止
(10)notrunc:不截短输出文件
(11) sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。