dd命令
1. 参数
if=name:输入文件名,缺省为标准输入
ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节
bs=bytes:同时设置读入/输出的块大小为bytes个字节
cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小
skip=blocks:从输入文件开头跳过blocks个块后再开始复制
seek=blocks:从输出文件开头跳过blocks个块后再开始复制
count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数
conv=conversion:用指定的参数转换文件
- ascii:转换ebcdic为ascii
- ebcdic:转换ascii为ebcdic
- ibm:转换ascii为alternateebcdic
- block:把每一行转换为长度为cbs,不足部分用空格填充
- unblock:使每一行的长度都为cbs,不足部分用空格填充
- lcase:把大写字符转换为小写字符
- ucase:把小写字符转换为大写字符
- swab:交换输入的每对字节
- noerror:出错时不停止
- notrunc:不截短输出文件
- sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐
2. 实例
- 将本地的/dev/hdb整盘备份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd - 将/dev/hdb全盘数据备份到image文件
dd if=/dev/hdb of=/root/image - 将备份文件恢复到指定盘
dd if=/root/image of=/dev/hdb - 备份/dev/hdb全盘数据,并利用gzip工具进行压缩
dd if=/dev/hdb | gzip > /root/image.gz - 将压缩的备份文件恢复到指定盘
gzip -dc /root/image.gz | dd of=/dev/hdb - 备份磁盘开始的512个字节大小的MBR信息到指定文件
dd if=/dev/hda of=/root/image count=1 bs=512 - 备份软盘
dd if=/dev/fd0 of=disk.img count=1 bs=1440k - 拷贝光盘内容到cd.iso文件
dd if=/dev/cdrom(hdc) of=/root/cd.iso - 销毁磁盘数据
dd if=/dev/urandom of=/dev/hda1
注意:利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据 - 修复硬盘
dd if=/dev/sda of=/dev/sda
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!