说明
dd命令用于复制文件并对原文件的内容进行转换和格式化处理。dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果。用的比较多的还是用dd来备份裸设备。但是不推荐,如果需要备份oracle裸设备,可以使用rman备份,或使用第三方软件备份,使用dd的话,管理起来不太方便。
建议在有需要的时候使用dd 对物理磁盘操作,如果是文件系统的话还是使用tar backup cpio等其他命令更加方便。另外,使用dd对磁盘操作时,最好使用块设备文件。
格式
dd [选项]
选项
of=file 写到所命名的文件而不是到标准输出
if=file 从所命名文件读取而不是从标准输入
bs=size 指定块大小(既是是ibs 也是obs)
ibs=size 一次读size 个byte
obs=size 一次写size 个byte
cbs=size 一次转化size 个byte
skip=blocks 从开头忽略blocks 个ibs 大小的块
seek=blocks 从开头忽略blocks 个obs 大小的块
count=n 只拷贝n个记录
conv=conversion[,conversion...] 用指定的参数转换文件
转换参数:
ascii 转换EBCDIC为ASCII
ebcdic 转换ASCII为EBCDIC
lcase 把大写字符转换为小写字符
ucase 把小写字符转换为大写字符
nocreat 不创建输出文件
noerror 出错时不停止
notrunc 不截短输出文件
sync 把每个输入块填充到ibs 个字节,不足部分用空(NUL)字 字符补齐
实例
备份MBRs
dd if=/dev/sda of=/app/MBR bs=1 count=512
破坏MBR的bootloader
dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446
备份数据
dd if=/dev/sda of=/app/sda.bak 将sda磁盘上的数据备份到/app/sda.bak文件
dd if=/dev/sda | gzip >/app/sda.gz 备份/dev/sda全盘数据,并利用gzip 压缩,保存到/app/sda.gz文件
恢复数据
dd if=/dev/app/sda.bak of=/dev/sdb 将sda备份文件sda.bak恢复到/dev/sdb磁盘
gzip -dc /app/sda.gz | dd of=/dev/sdb 将压缩的sda.gz文件恢复到/dev/sdb设备
拷贝内存数据到磁盘
dd if=/dev/mem of=/app/men.bak bs=1024 将内存中的数据拷贝到/app/mem.bak文件中,以一块1M的单位读取和写入
销毁磁盘数据
dd if=/dev/urandom of=/dev/sdb1 使用urandom产生的随机数填充覆盖磁盘原数据,即为销毁磁盘数据,执行操作之后,/dev/sdb1将被破坏无法挂载及创建和拷贝等操作都将无法使用
测试硬盘写速度
dd if=/dev/zero of=/app/f1 bs=1M count=10000
测试硬盘读速度
dd if=/app/f1 bs=64k | dd of=/dev/null
修复硬盘
dd=if=/dev/sda of=/dev/sda
拷贝iso镜像
dd if=/dev/sr0 of=centos6.iso
cp /dev/sr0 centos6.iso 拷贝光盘数据到centos6.iso文件
制作iso镜像
mkisofs -r -o centos.iso /app/centos6 将/app/centos6目录打包为iso文件
设置系统启动盘
dd if=/dev/sr0 of=/dev/sdd /dev/sdd为外接硬盘设备,可做系统启动盘
相关推荐
- 使用 Autofs 实现 NFS 共享目录动态挂载
- LFTP 命令常见用法详解
- macOS 使用 Setfile 命令更改文件创建时间和修改时间
- Ubuntu/Debian 系统安装配置 UFW 简单防火墙
- CentOS 7 安装使用 iptables 防火墙方法介绍
- Linux 服务器配置密钥实现远程免密登录
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/2274.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。