您的位置:首页 > 运维架构 > Linux

linux 磁盘维护命令dd

2014-08-23 09:04 190 查看
linux下dd命令:命令用于读取、转换并输出数据

 把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。语法:

 dd 〔选项〕

 选项:

 if =输入文件(或设备名称)。

 of =输出文件(或设备名称)。

 ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数,

 skip = blocks 跳过读入缓冲区开头的ibs*blocks块,一般在裸设备有offset时使用

 seek = 设定dd时从输出文件中跳过多少个dd缓冲区开始写入数据。一般在裸设备有offset时使用

 obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。

 bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs),一般来说,bs越大,拷贝速度越快

 cbs = bytes 一次转换bytes字节。

 count = blocks 只拷贝输入的blocks块,如果省略了count,表示完全拷贝输入文件到输出文件上

 conv = ASCII 把EBCDIC码转换为ASCII码。

 conv = ebcdic 把ASCII码转换为EBCDIC码。

 conv = ibm 把ASCII码转换为alternate EBCDIC码。

 conv = blick 把变动位转换成固定字符。

 conv = ublock 把固定们转换成变动位

 conv = ucase 把字母由小写变为大写。

 conv = lcase 把字母由大写变为小写。

 conv = notrunc 不截短输出文件。

 conv = swab 交换每一对输入字节。

 conv = noerror 出错时不停止处理。

 conv = sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。

 实例:

 创建一个100M的空文件

 dd if=/dev/zero of=hello.txt bs=100M count=1

 使用范围:

 源  目的  树勇参数

 裸设备  裸设备  if of bs skip seek count

 裸设备  文件系统 if of bs skip count

 文件系统 裸设备  if of bs seek

 文件系统 文件系统 if of bs

二、简单使用dd

测试磁盘读写

两个特殊设备:/dev/null  回收站设备,/dev/zero 产生空字符的为设备

测试磁盘写能力:

time dd if=/dev/zero of=test.txt bs=8k count=10240

因为/dev/zero是个为设备,只会输出空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。

测试磁盘读能力

time dd if=/dev/sdb1 of=/dev/null bs=8k count=10240

因为/dev/sdb1是个分区,对他读取产生IO,另外一个是为设备,对他写入不会产生IO,

 

 同时测试读写能力

 time dd if=/dev/sdb1 of=test.txt bs=8k count=1024,需要注意sdb和写入的test是否在一块磁盘上

备份磁盘数据

备份/dev/sdb1全盘数据,并利用gzip工具进行压缩,保存到指定路径:dd if=/dev/sdb | gzip >/oracle/bak/image.gz

备份到远端:在源主机上执行此命令备份/dev/sda:dd if=/dev/hda bs=1024b | netcat rac2

恢复:压缩的备份文件恢复到指定盘 :gzip -dc /oracle/bak/image.gz | dd of=/dev/sdb

将输入文件转大写到输出文件:

[root@centos7 ~]# cat 1.txt
123456;union
123456;china
中文;英文
[root@centos7 ~]# dd if=1.txt of=2.txt conv=ucase
0+1 records in
0+1 records out
40 bytes (40 B) copied, 0.000144111 s, 278 kB/s
[root@centos7 ~]# cat 2.txt
123456;UNION
123456;CHINA
中文;英文


创建交换空间:

创建文件

 dd if=/dev/zero of=/u01/swapfile bs=1024 count=1100000

 格式化文件

 mkswap /u01/swapfile

 启用

 swapon /u01/swapfile

 自启动:

 vi /etc/rc.local

 追加/sbin/swapon    /u01/swapfile

 查看大小:

 free -m
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: