dd命令
格式 : dd if=(_____) of=(____)
- if:标准输入:输入的文件名,指定源文件
- of:标准输出,输出的文件名,指定目的文件
- count: 拷贝多个块
- bs :同时指定输入输出块大小
- ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
- obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节
- conv=<关键字>:转换。
备份磁盘:
- dd if=/dev/sda1 of=/dev/sda2
[root@xiaoagiao /]# dd if=/dev/sda1 of=/dev/sda2
409600+0 records in
409600+0 records out
209715200 bytes (210 MB) copied, 34.0303 s, 6.2 MB/s
恢复到指定磁盘:
- dd if=/dev/sda2 of=/dev/sda1 (反过来)
备份并压缩:
- dd if=/dev/sda1 |gzip >/tmp/file.gz–>(将/dev/sda1备份到/tmp下命名为file.gz。
备份MBR:
- dd if=/dev/sda of=/tmp/file count=1 bs=512
拷贝内存文件
- dd if=/dev/mem of=/tmp/file bs=1m count=1024
[root@fei tmp]# dd if=/dev/zero of=/tmp/file bs=1M count=1024
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,13.2905 秒,80.8 MB/秒
[root@fei tmp]# du -sh /tmp/file
1.1G /tmp/file
测试硬盘的读写速率
- dd if=/dev/zero of=/tmp/file bs=1000K count=1024
1073741824字节(1.1 GB)已复制,13.2905 秒,80.8 MB/秒
//通过最后一行的数据可查看盘的读写速率。
测试硬盘的最佳块大小,1K 4K 8 K 16K
- dd if=/dev/zero of=/tmp/file bs=1024 count=1000000
- dd if=/dev/zero of=/tmp/file bs=4096 count=250000
- dd if=/dev/zero of=/tmp/file bs=8192 count=125000
- dd if=/dev/zero of=/tmp/file bs=16384 count=62500
[root@fei tmp]# dd if=/dev/zero of=/tmp/file bs=1024 count=1000000
记录了1000000+0 的读入
记录了1000000+0 的写出
1024000000字节(1.0 GB)已复制,2.0054 秒,511 MB/秒
[root@fei tmp]# dd if=/dev/zero of=/tmp/file bs=4096 count=250000
记录了250000+0 的读入
记录了250000+0 的写出
1024000000字节(1.0 GB)已复制,1.09559 秒,935 MB/秒
[root@fei tmp]# dd if=/dev/zero of=/tmp/file bs=8192 count=125000
记录了125000+0 的读入
记录了125000+0 的写出
1024000000字节(1.0 GB)已复制,0.919246 秒,1.1 GB/秒
[root@fei tmp]# dd if=/dev/zero of=/tmp/file bs=16384 count=62500
记录了62500+0 的读入
记录了62500+0 的写出
1024000000字节(1.0 GB)已复制,1.07065 秒,956 MB/秒
由此可见, bs=8192 count=125000时,硬盘的读写速率最快,就找到了最佳块了。
转换
- dd if=/tmp/file of=/tmp/file1 conv=ucase
将file文件中的所有英文字母转换为大写
cpio 备份命令
- 备份: cpio -ocvB > file
- 还原: cpio -ivcdu > file
- 查看: cpio -ivct > file
-o | 拷贝文件到某个文件或者设备 |
---|---|
-c | 存储方式 |
-v | 显示存储过程 |
-B | 以XXX块大小拷贝, 默认是512 ,以5120大小拷贝 |
-i | 从某个文件或者设备拷贝出 |
d | 自动创建目录 |
u | 自动新文件覆盖旧文件 update |
t | 查看文件或者设备中的内容 |
- #find / -print | cpio -ocvB > /dev/sdb
将根目录下的文件,备份压缩到/dev/sdb。 - #cpio -ivcdu < /dev/sdb > /tmp/log
将/dev/sdb还原释放到/tmp/log。