Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。本文主要介绍Linux dd 命令。

1、命令简介

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

2、命令用法

dd [options]

3、命令描述

dd 可从标准输入或文件中指定大小的块读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

注意:指定的数字若以下列字符结尾,计算需要乘以字符对应的数字:b=512;c=1;k=1024;w=2

4、命令选项

选项

描述

if=文件名

输入文件名,默认为标准输入。即指定源文件。

of=文件名

输出文件名,默认为标准输出。即指定目的文件。

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)字符补齐。

5、使用示例

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=/linux.iso of=/dev/sdb1 

注意:如为光盘则of=/dev/cdrom,同时u盘设备要根据系统识别的设备号进行确定。

4)格式化硬盘数据:

dd if=dev/zero of=/dev/sda bs=1k count=3000

推荐文档