Linux 的 dd 命令

Linux 的 dd 命令是一个功能强大的数据转换和复制工具,主要用于低级别的数据操作。以下是关于 dd 命令的详细扩展说明:

基本语法

复制代码
dd if=<输入文件> of=<输出文件> [选项]

主要功能

  1. 磁盘/分区克隆

    • 示例:将 /dev/sda 完整克隆到 /dev/sdb

      复制代码
      dd if=/dev/sda of=/dev/sdb bs=4M status=progress
    • 参数说明:

      • bs:设置块大小(默认512字节)
      • count:指定复制的块数
      • status=progress:显示进度信息
  2. 创建磁盘映像

    • 创建系统备份:

      复制代码
      dd if=/dev/sda of=backup.img bs=4M conv=sync,noerror
    • 恢复备份:

      复制代码
      dd if=backup.img of=/dev/sda bs=4M
  3. 数据擦除

    • 安全擦除磁盘:

      复制代码
      dd if=/dev/zero of=/dev/sdX bs=1M
    • 更安全的随机数据擦除:

      复制代码
      dd if=/dev/urandom of=/dev/sdX bs=1M
  4. 文件转换

    • 大小写转换:

      复制代码
      dd if=input.txt of=output.txt conv=lcase
    • 编码转换:

      复制代码
      dd if=input.txt of=output.txt conv=ebcdic

高级用法

  1. 网络传输

    • 通过netcat传输磁盘映像:

      复制代码
      dd if=/dev/sda bs=4M | nc <目标IP> 1234

      接收端:

      复制代码
      nc -l 1234 | dd of=/dev/sdb bs=4M
  2. 测试磁盘性能

    • 写入测试:

      复制代码
      dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
    • 读取测试:

      复制代码
      dd if=testfile of=/dev/null bs=1G count=1 iflag=direct
  3. 创建虚拟文件系统

    • 创建1GB大小的空文件:

      复制代码
      dd if=/dev/zero of=virtual_disk.img bs=1G count=1

注意事项

  1. 危险操作警告 :错误使用可能造成数据丢失,特别是在操作原始设备时(如/dev/sda

  2. 性能优化

    • 适当增大bs参数可提高性能(通常4M-64M为宜)
    • 使用oflag=direct绕过缓存进行真实性能测试
  3. 进度监控

    • 较新版本可使用status=progress

    • 旧版本可通过发送USR1信号查看进度:

      复制代码
      kill -USR1 <dd进程PID>

常见应用场景

  1. 系统迁移和备份
  2. 创建可启动USB设备
  3. 数据恢复和取证
  4. 磁盘性能基准测试
  5. 安全数据销毁

dd命令因其底层操作特性,在系统管理、数据恢复和安全领域有着不可替代的作用,但使用时需格外谨慎。

相关推荐
墨风如雪8 小时前
甲骨文云(Oracle Cloud)最新注册防坑记录:被ABC了怎么办?
服务器
xingfujie9 小时前
运维实战攻略
运维
HHFQ10 小时前
在 systemd 场景下的 CPU 限制方式
linux
道清茗10 小时前
【RH294知识点汇总】第 9 章 《 自动执行 Linux 管理任务 》常见问题
linux·运维·服务器
山羊硬件Time10 小时前
自动化管理Linux的好工具:shell script
linux·嵌入式硬件·硬件工程师·基带工程·硬件开发
北方的流星10 小时前
华三路由器NAT配置
运维·网络·华三
wj30558537811 小时前
Codex + Git 开发环境配置指南(WSL版)
linux·运维·git
星马梦缘11 小时前
如何切换window-ubuntu双系统【方案二】
linux·运维·ubuntu
2501_9272835811 小时前
荣联汇智助力天津艺虹打造“软硬一体”智慧工厂,全流程自动化引领印刷包装行业数智变革
大数据·运维·数据仓库·人工智能·低代码·自动化
HXDGCL12 小时前
矩形环形导轨:自动化循环线的核心运动单元解析
运维·算法·自动化