linux系统dd 工具介绍
当然可以,dd
是 Linux/Unix 中一个功能非常强大但容易误用的工具。它可以做很多事情,比如:
- 制作磁盘/分区/文件的镜像(备份)
- 还原镜像
- 拷贝设备
- 清零磁盘
- 改变数据格式和块大小
🧱 基本语法:
dd if=输入文件 of=输出文件 [参数]
参数 | 含义 |
---|---|
if= | input file,输入文件或设备 |
of= | output file,输出文件或设备 |
bs= | block size,每次读写的字节数(默认 512) |
count= | 复制的块数量 |
status= | 控制输出信息,比如加上 status=progress 可显示进度 |
seek= | 跳过输出文件前几个块(用于跳过写入) |
skip= | 跳过输入文件前几个块(用于跳过读取) |
conv= | 转换选项(比如 noerror , sync , notrunc 等) |
✅ 常见用法示例:
1️⃣ 制作整个磁盘的镜像:
sudo dd if=/dev/mmcblk0 of=./backup.img bs=4M status=progress
→ 把 /dev/mmcblk0
复制为 backup.img
文件。适合做系统盘的完整备份。
2️⃣ 恢复镜像到设备(小心操作!):
sudo dd if=./backup.img of=/dev/mmcblk0 bs=4M status=progress
→ 把镜像文件还原写入目标设备 /dev/mmcblk0
。
3️⃣ 制作 U 盘/TF 卡启动盘:
sudo dd if=./ubuntu.iso of=/dev/sdX bs=4M status=progress
→ 把 ISO 镜像写入 USB 设备(比如 /dev/sdb
)
4️⃣ 清除硬盘前 1MB:
sudo dd if=/dev/zero of=/dev/sdX bs=1M count=1
→ 用 0 填充设备前 1MB,通常用于清除分区表或引导区。
5️⃣ 拷贝文件并改变块大小:
dd if=input.txt of=output.txt bs=1M
→ 复制文件时每次处理 1MB,加快大文件复制效率。
⚠️ 使用 dd
的重要警告:
- 无确认提示,一写错可能毁掉整块硬盘!
- 请一定确认
if=
和of=
写对,尤其是of=
目标别写错设备! - 建议搭配
bs=4M
使用,效率更高 - 使用
status=progress
可以看到复制进度
🧠 小结一句话:
dd
是 Linux 下的原始数据复制神器,可用于磁盘备份、还原、镜像制作等。但危险性高,用错即毁盘,需谨慎操作!