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

相关推荐
匆匆整棹还2 小时前
window下安装minio
运维·服务器
minji...2 小时前
Linux 进程间通信(一)进程间通信与匿名管道
linux·运维·服务器·数据结构·数据库·c++
feng_you_ying_li2 小时前
linux的指令终章与权限之用户权限(3)
linux·运维·服务器
s6516654962 小时前
Linux内核学习-汇编笔记
linux
IMPYLH2 小时前
Linux 的 csplit 命令
linux·运维·服务器·数据库
cccyi72 小时前
支持 HTTP 协议的主从 Reactor 高性能服务器组件
服务器·http·reactor
钰衡大师2 小时前
Nohup 使用技术文档
linux·服务器·运维开发·unix
Sakuyu434682 小时前
zabbix源码安装
linux·运维·zabbix
赖亦无2 小时前
【水动力学】06 Linux + Conda 环境下源码编译安装 pypims (CUDA加速) 避坑指南
linux·运维·conda·pypims·水动力学