运维开发网

CentOS7.3学习笔记总结(八十一)

运维开发网 https://www.qedev.com 2020-12-20 12:14 出处:51CTO 作者:知行知行
dd命令介绍

dd命令帮助文件中是这样描述的,convert and copy a file(转换和复制文件),Copy a file, converting and formatting according to the operands(复制文件,根据操作对象进行转换和格式化)。dd命令是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

       

CentOS7.3学习笔记总结(八十一)

                                     

参数:

if=FILE(if=文件名):输入文件名,缺省为标准输入,就是指定源文件

of=FILE(of=文件名):输出文件名,缺省为标准输出,就是指定目标文件。

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整盘备份到指定路径的文件,或者把备份的文件恢复到指定的盘。

先创建一个100M的硬盘,分区、格式化、挂载到系统,创建一个测试文件test.txt

CentOS7.3学习笔记总结(八十一)

将/dev/sdb1全盘备份到指定的路径的文件image_bak中:

dd if=/dev/sdb1 of=/root/image_bak

CentOS7.3学习笔记总结(八十一)

删除/dev/sdb1中的test.txt文件,把备份的文件恢复到指定的盘中:

dd if=/root/image_bak of=/dev/sdb1

CentOS7.3学习笔记总结(八十一)

2、  备份全盘数据,并利用gzip工具进行压缩,保存指定路径的文件中;反之恢复。

dd if=/dev/sdb1|gzip>/root/image_bak.gz

CentOS7.3学习笔记总结(八十一)

恢复命令:

gzip -dc /root/image_bak.gz |dd of=/dev/sdb1#备份压缩后的test02.text文件不见了。

CentOS7.3学习笔记总结(八十一)

3、  备份全盘到到磁盘,也可以叫克隆硬盘

dd  if=/dev/sdb1 of=/dev/sdc1

4、  增加swap分区文件大小100M

dd if=/dev/sdb1 of=/swapfilebs=1024 count=102400

把文件变成swap文件:

mkswap /swapfile

启用这个swap文件:

swapon /swapfile

编辑/etc/fstab文件,使每次开机是自动加载swap文件:

swapfile swap swap default 0 0

5、  销毁数据

dd if=/dev/urandom of=/dev/sdb1#利用随机的数据填充硬盘。

CentOS7.3学习笔记总结(八十一)

6、  修复硬盘

dd if=/dev/sdb1 of =/dev/sdb1#该命令可以修复一些数据,过程安全,高效。

CentOS7.3学习笔记总结(八十一)

7、  远程备份

源主机执行:

dd if=/dev/sdb1 |ssh 10.41.1.96 dd of=/root/sdb1_bak

CentOS7.3学习笔记总结(八十一)

目标主机查看备份文件

CentOS7.3学习笔记总结(八十一)

目标主机执行:

ssh 10.41.1.97 dd if=/dev/sdb1 | dd of=/root/sdb1_bak01

 

CentOS7.3学习笔记总结(八十一)

0

精彩评论

暂无评论...
验证码 换一张
取 消