Linux备忘录:dd命令
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:c
=1; b
=512; K
=1024; M
= 1024*1024
参数注释:
- if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
- of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
- ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
- obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
- bs=bytes:同时设置读入/输出的块大小为bytes个字节。
- cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
- skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
- seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。 - count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
- conv=conversion:用指定的参数转换文件。
- ascii:转换ebcdic为ascii
- ebcdic:转换ascii为ebcdic
- ibm:转换ascii为alternate ebcdic
- block:把每一行转换为长度为cbs,不足部分用空格填充
- unblock:使每一行的长度都为cbs,不足部分用空格填充
- lcase:把大写字符转换为小写字符
- ucase:把小写字符转换为大写字符
- swab:交换输入的每对字节
- noerror:出错时不停止
- notrunc:不截短输出文件
- sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
示例:
1.将本地的/dev/hdb整盘备份到/dev/hdd:
dd if=/dev/hdb of=/dev/hdd
2.大文件分段查找:
# 每次从文件开头先跳过 skip*bs 大小的内容,然后打印 count*bs 大小的内容,使用 grep 过滤
# 以下指令表示从第100M开始,搜索10M的内容,过滤出包含'ERROR'的行
dd if=[filename] bs=1M skip=100 count=10 | grep 'ERROR'
参考:
https://www.cnblogs.com/ginvip/p/6370836.html
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 using1174@foxmail.com
文章标题: Linux备忘录:dd命令
文章字数: 551
本文作者: Jun
发布时间: 2020-04-29, 16:34:35
最后更新: 2022-04-17, 22:49:42
原始链接: http://yoursite.com/2020/04/29/Linux备忘录:dd命令/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。