用途:转换和拷贝文件
用法:dd 操作数...
dd 选项
dd用指定大小的块来复制和转换文件,是直接针对文件所在的块进行操作
选项:
bs=BYTES 输入和输出时按指定字节数块来,比如bs=512
cbs=BYTES 转换时每次只转换指定的字节数
conv=CONVS 按CONVS指定的方式转换文件,多种方式用逗号隔开,转换方式包括:
ascii 将EBCDIC转换成ascii
ebcdic 将ascii转换成ebcdic
ibm 将ascii转换成alternative ebcdic
block
unblock
lcase 将大写字母转换成小写
ucase 将小写字母转换成大写
swab
noerror 忽略读错误
notrunc 不中断输出文件
sync 用0填充每个输入块的末尾,使其大小为ibs字节
count=N 只复制N个输入块
ibs=BYTES 每次读取指定字节数的块,默认是512B
if=FILE 从指定文件中读取
iflag=FLAGS 用FLAGS指定方式读取,多种方式用逗号隔开
obs=BYTES 每次只写入指定字节数的块,默认512B
of=FILE 写入到指定文件
oflag=FLAGS 用FLAGS指定方式写入,多种方式用逗号隔开
seek=BLOCKS 从输出文件开头跳过指定个块后再开始复制
skip=BLOCKS 从输入文件开头跳过指定个块后再开始复制
status=WHICH WHICH信息阻止输出到标准错误stderr
典型用法:
1.备份数据
dd if=/dev/sda1 of=/dev/sda2 #将本地的/dev/sda1整盘备份到/dev/sda2
dd if=/dev/sda1 of=/tmp/backup #将本地的/dev/sda1整盘数据备份到/tmp/backup这个文件
dd if=/tmp/backup of=/dev/sda1 #将备份文件恢复到/dev/sda1
2.磁盘数据擦除
dd if=/dev/urandom of=/dev/sda2 #用随机数填充./dev/sda2的磁盘空间
3.磁盘性能管理
dd if=/dev/zero bs=1024 count=1000000 of=/root/disktest
dd if=/dev/zero bs=2048 count=500000 of=/root/disktest
dd if=/dev/zero bs=4096 count=250000 of=/root/disktest
通过比较dd命令的执行时间,可确定系统最佳block大小
4.创建空文件
dd if=/dev/zero of=empty.txt bs=100M count=1 #创建一个100M大小的空文件empty.txt