> 软件包与系统管理 > dd

dd: 数据复制和转换 (磁盘克隆/USB制作)

dd 是一个强大的工具,用于以块为单位复制和转换文件。它可用于制作启动U盘、备份磁盘(镜像转储)和创建文件等,但如果错误地指定了输出目标,可能会丢失所有数据,因此它有一个绰号叫 'Disk Destroyer'(磁盘毁灭者)。

dd 是什么?

dd 被称为 'Data Description'(数据描述)或 'Disk Dump'(磁盘转储)的缩写。与普通的复制命令 (`cp`) 不同,它直接操作硬件设备(磁盘、U盘)或按位精确复制原始数据。

核心语法结构

不使用连字符 (-) 作为选项前缀,而是以 `键=值` 的形式使用。

  • if (Input File): 输入目标。(源文件、ISO镜像、要读取的磁盘设备等)
  • of (Output File): 输出目标。(要复制到的位置、U盘设备、备份文件等)**这是最需要注意的选项。**
  • bs (Block Size): 一次读取和写入的数据大小。(例如:4M, 1G)。影响速度。

⚠️ 警告:使用前务必确认

如果 `of=`(输出目标)不小心指定为系统硬盘,操作系统和数据会瞬间消失。请务必使用 `lsblk` 命令确认设备路径(例如:`/dev/sdb`)。

主要选项 (Shell)

dd 的选项顺序不重要,但通常按 `if` > `of` > `bs` > `status` 的顺序编写。

1. 指定输入输出 (必需)

2. 控制大小和速度

3. 数据转换和控制

生成的命令:

请尝试组合命令。

描述:

`dd` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用场景示例

dd 命令在实际工作中常用的模式。

制作启动U盘

sudo dd if=ubuntu-22.04.iso of=/dev/sdb bs=4M status=progress

将 ISO 文件写入U盘设备(假定为 `/dev/sdb`)。`bs=4M` 是为了提高速度。

完整磁盘备份 (创建镜像)

sudo dd if=/dev/sda of=~/backup.img bs=64K status=progress

将整个 `/dev/sda` 磁盘创建为 `backup.img` 文件。

彻底擦除磁盘 (Wiping)

sudo dd if=/dev/urandom of=/dev/sdX bs=1M status=progress

用随机数据覆盖磁盘(`/dev/sdX`),使其无法恢复。

创建特定大小的空文件

dd if=/dev/zero of=testfile_1GB bs=1G count=1

创建用于测试的 1GB 空文件(用零填充)。

提示和注意事项

有用提示

  • sudo 权限: 操作硬件设备(/dev/...)时,必须使用 `sudo` 权限。
  • /dev/zero 和 /dev/urandom: `if=/dev/zero` 会无限输出零,`if=/dev/urandom` 会无限输出随机数据,它们是特殊文件。
  • 查找U盘设备: 插入U盘前后,输入 `lsblk` 命令,务必准确识别新出现的设备名称(例如:sdb, sdc)。

相关命令

功能上相似或经常一起使用的命令。



相同类别命令