侧边栏壁纸
博主头像
张种恩的技术小栈博主等级

行动起来,活在当下

  • 累计撰写 743 篇文章
  • 累计创建 64 个标签
  • 累计收到 39 条评论

目 录CONTENT

文章目录

不一样的复制-dd命令

zze
zze
2019-10-11 / 0 评论 / 0 点赞 / 505 阅读 / 1315 字

不定期更新相关视频,抖音点击左上角加号后扫一扫右方侧边栏二维码关注我~正在更新《Shell其实很简单》系列

dd 是一个 Unix 和类 Unix 系统上的命令,主要功能为转换和复制文件。
在 Unix 上,硬件的设备驱动(如硬盘)和特殊设备文件(如 /dev/zero/dev/random)就像普通文件一样,出现在文件系统中;只要在各自的驱动程序中实现了对应的功能,dd 也可以读取自 / 或写入到这些文件。这样,dd 也可以用在备份硬件的引导扇区、获取一定数量的随机数据等任务中。dd 程序也可以在复制时处理数据,例如转换字节序、或在 ASCII 与 EBCDIC 编码间互换。

相对 cp 命令来说,cp 命令是在文件系统层次接口的复制,而 dd 是在块层次接口的复制,效率更高。

它的使用也很简单,格式如下:

dd if=<SOURCE> of=<DEST>
    SOURCE:源文件;
    DEST:目标文件;

它还有一些常用选项:

  • bs=#:Block size,复制单元大小,单位为字节;
  • count=#:复制多少个 bs;

常见用法:

  • 磁盘复制,如 dd if=/dev/sda of=/dev/sdb 就是将 /dev/sda 中的数据拷贝到 /dev/sdb 磁盘中,效率比 cp 命令更高;
  • 备份 MBR,如 dd if=/dev/sda of=/tmp/sda_mbr.bak bs=512 count=1 就是将磁盘的前 512 字节备份到指定文件;
  • 清除 MBR,即清空了磁盘的分区表,dd if=/dev/zero of=/dev/sda bs=1 count=512
  • 破坏磁盘的主引导程序,如果仅覆盖磁盘的前 446 字节,则就破坏了磁盘 MBR 中的主引导程序,如 dd if=/dev/zero of=/dev/sda bs=256 count=1

MBR 总大小为 512 字节,主要由三部分组成:
1.主引导程序代码,占 446 字节;
2.硬盘分区表 DPT,占 64 字节;
3.主引导扇区结束标志 AA55H

0

评论区