文本类命令:dd命令

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

好用Linux命令系列一之dd
 

常用参数

1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:同时设置读入/输出的块大小为bytes个字节,后门可以自定义大小,比如1M、1G
4. cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
5. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
6. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。

例子

将文件testfile_2里的内容转换成大写,并输出到testfile_1文件中,小写对应的是lcase
dd if=testfile_2 of=testfile_1 conv=ucase

硬盘对拷
#dd if=/dev/sdc of=/dev/sdd

创建指定大小的文件
#dd if=/dev/zero of=/tmp/1.file bs=1M count=100
这样就创建出来了一个100M(bs * count)的文件1.file

测试硬盘的读写速度
dd if=/dev/zero bs=1K count=1000000 of=/root/1Gb.file
dd if=/root/1Gb.file bs=64k | dd of=/dev/null

备注:/dev/zero,是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入字符串0.
把/dev/null看作"黑洞", 它等价于一个只写文件,所有写入它的内容都会永远丢失.,而尝试从它那儿读取内容则什么也读不到。然而, /dev/null对命令行和脚本都非常的有用.