dd 是 Linux 系统中一个功能强大的命令行工具,主要用于底层数据复制和转换。它可以直接读写设备文件(如硬盘、分区、光盘等)或普通文件,常用于数据备份、磁盘克隆、创建启动盘等场景。
核心功能
- 按指定大小和数量复制数据块
- 在复制过程中可以对数据进行转换
- 直接操作硬件设备(需谨慎使用)
基本语法
dd if=输入文件 of=输出文件 [选项]
if(input file):指定输入源(可以是普通文件、设备文件如/dev/sda等)of(output file):指定输出目标- 常用选项:
bs=SIZE:设置读写块大小(如bs=4M表示4兆字节)count=N:指定复制的块数量seek=N:输出时跳过前面N个块skip=N:输入时跳过前面N个块
典型用法示例
-
备份分区:
dd if=/dev/sda1 of=./sda1_backup.img bs=4M(将
sda1分区完整备份为镜像文件) -
恢复分区:
dd if=./sda1_backup.img of=/dev/sda1 bs=4M(注意:此操作会覆盖目标分区数据,需格外谨慎)
-
创建启动盘:
dd if=ubuntu.iso of=/dev/sdb bs=4M status=progress(将ISO镜像写入U盘
sdb,status=progress显示进度) -
擦除磁盘数据:
dd if=/dev/zero of=/dev/sda bs=1M(用0填充整个磁盘,彻底清除数据,耗时较长)
注意事项
dd命令权限要求高,操作设备时通常需要sudo- 一旦指定错误的
of设备,可能导致数据永久丢失,使用前务必确认设备名称 - 部分选项(如
status=progress)是较新版本dd才支持的功能
dd 被称为"磁盘毁灭者"(disk destroyer),虽功能强大,但使用时一定要仔细核对参数,避免误操作。
1148

被折叠的 条评论
为什么被折叠?



