linux下dd命令的使用

dd 用来复制、抽取、转换文件,这里复制、抽取的大小可以以具体的块数指定,同时复制的时候可以进行编码或格式转换;
dd 的主要选项:
if=file                 输入文件名,这里的文件不能是目录;
of=file                输出文件名,这里的文件不能是目录;    
ibs=bytes         读入多少个字节,在这里就是指定块的大小,即输入缓冲区 的大小;
obs=bytes        一 次读入多少个字节,在这里就是指定块的大小,即输出缓冲区的大小;
bs=bytes          同时设置读写块的大小,可代替 ibs 和 obs;
cbs=bytes         一次转换多少个个字节,即转换缓冲区大;
skip=blocks      从输入文件开头跳过多少个块后再开始复制,也就是指定都从哪里开始复制;
seek=blocks     从输出文件开头跳过多少个块后再开始复制,也就是指定目的文件要空多少个块才开始写入(通常只有当输出文件是磁盘或磁带时才有效)
count=blocks     拷贝输入文件的多少个块;
conv=conversion[,conversion...]  指定格式转换的参数
ascii                转换 EBCDIC 为 ASCII;
ebcdic             转换 ASCII 为 EBCDIC;
ibm                  转换 ASCII 为 alternate EBCDIC;
block              把每一行转换为长度为 cbs 的记录,不足部分用空格填充;
unblock          使每一行的长度都为 cbs ,不足部分用空格填充;     
lcase               把大写字符转换为小写字符;
ucase              把小写字符转换为大写字符;
noerror            出错时不停止;
notrunc            不截断输出文件;
sync 把每个块都写满,数据不足的部分用空字符填充;
例如:
单独用来复制文件
[root@localhost mnt]# dd if=/var/log/messages  of=/mnt/sdb1/messages bs=1024 count=11 skip=10 conv=lcase
11+0 records in
11+0 records out
11264 bytes (11 kB) copied, 0.001014 seconds, 11.1 MB/s
复制文件的同时加上conv选项进行格式转换
[root@localhost mnt]# dd if=/var/log/messages of=/mnt/sdb1/messages bs=1024 count=11 conv=ebcdic
11+0 records in
11+0 records out
11264 bytes (11 kB) copied, 0.00155 seconds, 7.3 MB/s

你可能感兴趣的:(linux,职场,du,休闲)