简介
dd命令可以标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出,常用于刻录启动光盘、备份硬盘文件和格式化硬盘数据等操作。
参数详解
参数 | 解析 |
---|---|
if=文件名 | 输入文件名,缺省为标准输入。即指定源文件。< if=input file > |
of=文件名 | 输出文件名,缺省为标准输出。即指定目的文件。< of=output file > |
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为alternate ebcdic |
block | 把每一行转换为长度为cbs,不足部分用空格填充 |
unblock | 使每一行的长度都为cbs,不足部分用空格填充 |
lcase | 把大写字符转换为小写字符 |
ucase | 把小写字符转换为大写字符 |
swap | 交换输入的每对字节 |
noerror | 出错时不停止 |
notrunc | 不截短输出文件 |
sync | 将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐 |
实例操作
1、将sda硬盘数据备份到sdb上:
dd if=/dev/sda of=/dev/sdb
2、备份硬盘引导分区表:
dd if=/dev/sda of=/mnt/sda.mbr bs=512 count=1
注意前446字节为mbr,446-512为磁盘分区表
3、刻录系统启动u盘:
dd if=/xxx_20210428.iso of=/dev/sdb1
注意如为光盘则of=/dev/cdrom,同时u盘设备要根据系统识别的设备号进行确定。
4、格式化硬盘数据:
dd if=dev/zero of=/dev/sda bs=1k count=3000