一、dd命令
dd命令用于复制文件并对原文件的内容进行转换和格式化处理。dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果。用的比较多的还是用dd来备份裸设备。但是不推荐,如果需要备份oracle裸设备,可以使用rman备份,或使用第三方软件备份,使用dd的话,管理起来不太方便。
建议在有需要的时候使用dd 对物理磁盘操作,如果是文件系统的话还是使用tar backup cpio等其他命令更加方便。另外,使用dd对磁盘操作时,最好使用块设备文件。
1.1 语法
dd(选项)
1.2 选项
选项 | 描述 |
---|---|
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=<关键字> | 关键字可以有以下11种: conversion:用指定的参数转换文件。 ascii:转换ebcdic为ascii ebcdic:转换ascii为ebcdic ibm:转换ascii为alternate ebcdic block:把每一行转换为长度为cbs,不足部分用空格填充 unblock:使每一行的长度都为cbs,不足部分用空格填充 lcase:把大写字符转换为小写字符 ucase:把小写字符转换为大写字符 swab:交换输入的每对字节 noerror:出错时不停止 notrunc:不截短输出文件 sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。 |
–help | 显示帮助信息 |
–version | 显示版本信息 |
二、示列
2.1 创建一个1M大小的文件sun.txt
[root@localhost text]# dd if=/dev/zero of=sun.txt bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s
[root@localhost text]# du -sh sun.txt
1.1M sun.txt