Linux中的DD命令

原文链接 dd - 转换和拷贝文件

当进行非强制的转换的时候,使用指定的输入和输出块大小拷贝文件 (默认是从标准输入到标准输出。) 它每次从输入读取指定大小的一个块(默认是512字节)。 如果使用 bs=bytes 选项,并且没有转换,除了指定 sync, noerror, 或 notrunc 之外, 那么dd将把全部读到的数据(可以比请求读的少) 写到独立的输出块去。 这个输出块的长度和读到的数据 完全一样,除非指定使用 sync(同步) 转换,那样的话,数据结尾处将追加NUL字符(或空格,见下)。 其他情况下,输入的时候每次读一个块,然后处理,并将 输出结果收集起来,最后写到指定大小的数据块中去。最 终的输出块可能会比指定的大小短一些。 数字值选项(以字节或块为单位)后面可以跟一个乘数: k=1024,b=512,w=2,c=1(w和c是GNU扩展语法。最好别 使用w,因为在system V中,它表示2,在4.2 BSD中,它 表示4)。两个或更多的数值表达式可以通过lqxrq乘起来。 GEU fileutils 4.0并且允许在数据块大小的叙述中使用 下列乘法后缀(用bs=,cbs=,obs=):M=1048576,G=1073741824, 同理可得T,P,E,Z,Y。D后缀表示数值是以 十进制表示的:kD=1000 MD=1000000 GD=1000000000等等。 (注意,在ls、df、du命令中,M等标记的大小是由环境 变量确定的,而在DD中,它的值是固定的。) [[ ]] if=file     从 file 中读而不是标准输入。 of=file     写到 file 里去而不是标准输出。除非指定 conv=notrunc ,否则, dd 将把 file 截为O字节(或由 seek= 选项指定的大小) ibs=bytes     一次读 bytes 字节。默认是512。 obs=bytes     一次写 bytes 字节。默认是512。 bs=bytes     一次读和写 bytes 字节。这将覆盖 ibs 和 obs 设定的值(并且,设定 bs 不等于同时将 ibs 和 obs 设为同一个值,至少在 只使用 sync, noerror 或 notrunc 转换时是这样的。因为bs规定,每个输入块都应作为单独 的数据块拷贝到输出,而不把较短的块组合到一起)。 cbs=bytes     为 block 转换和 unblock 转换指定转换块的大小。 skip=blocks     在拷贝之前,跳过输入文件的前 blocks 块,每块大小为 ibs-byte 字节。 seek=blocks     在拷贝之前,跳过输出文件的前 blocks 块,每块大小为 obs-byte 字节。 count=blocks     只拷贝输入文件的前 blocks 块(每块的大小为 ibs-byte 字节),而不是全部内容,直到文件末尾。 conv=转换[,转换]...     将文件按 转换 参数指定的方式转换(在lq,rq两边没有空格)。 转换方式包括:         ascii             将EBCDIC转换成ascii。         ebcdic             将ascii转换成ebcdic。         ibm             将ascii转换成alternative ebcdic。         block             每一行输入,无论长短,输出都是 cbs 字节,并且其中的lq换行rq(NEWLINE,即c中的')用 空格替换。如有必要,行尾会填充空格。         unblock             用lq换行rq替换每个输入块( cbs 字节大小)末尾的空格。         lcase             将大写字母转换成小写。         ucase             将小写字母转换成大写。         swab             交换每对输入字节。如果读入的字节数是奇数,最后 一个字节只是简单的复制到输出(因为没有能跟它交换的 字节了)(POSIX 1003.26,PASC翻译1003.2 3号和4号)。         noerror             发生读错误时,继续进行。         notrunc             不截断输出文件。         sync             用0填充到每个输入块的末尾,使其大小为 ibs 字节。

[root@localhost ~]# dd if=/dev/hdx of=/dev/hdy          #将本地的/dev/hdx整盘备份到/dev/hdy

[root@localhost ~]# dd if=/dev/hdx of=/path/to/image    #将/dev/hdx全盘数据备份到指定路径的image文件

[root@localhost ~]# dd if=/dev/hdx | gzip >/path/to/image.gz   #备份/dev/hdx全盘数据,并利用gzip工具进行压缩,保存到指定路径

[root@localhost ~]# dd if=/path/to/image of=/dev/hdx    #	将备份文件恢复到指定盘

[root@localhost ~]# gzip -dc /path/to/image.gz | dd of=/dev/hdx     #将压缩的备份文件恢复到指定盘

[root@localhost ~]# dd if=/dev/hdx of=/path/to/image count=1 bs=512  #备份磁盘开始的512Byte大小的MBR信息到指定文件

[root@localhost ~]# dd if=/dev/cdrom of=/root/cd.iso   #拷贝光盘数据到root文件夹下,并保存为cd.iso文件 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青竹居士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值