您的位置:首页 > 运维架构 > Linux

linux下dd命令的使用

2010-03-09 21:51 441 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: