IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
在Linux中可以使用dd命令進(jìn)行數(shù)據(jù)備份。dd命令可以對文件(包括設(shè)備)的內(nèi)容導(dǎo)入導(dǎo)出,導(dǎo)出數(shù)據(jù)后,原文件(或設(shè)備)的內(nèi)容不會(huì)被刪除或改變。用這種方式可實(shí)現(xiàn)任何文件(設(shè)備)到其他任何文件(設(shè)備)的數(shù)據(jù)導(dǎo)出,實(shí)現(xiàn)備份的目的。
格式如下:
dd if=源文件/設(shè)備 of=目標(biāo)文件/設(shè)備 bs=每次操作的數(shù)據(jù)量 count=操作次數(shù)
其中的bs和count可以省略,省略后采用默認(rèn)值。bs默認(rèn)值是512字節(jié),count默認(rèn)值和源文件大小有關(guān)。
舉例如下。
①dd if=f1 of=f2:把f1文件導(dǎo)入到f2中,相當(dāng)于將文件f1復(fù)制為文件f2。相關(guān)操作如下:
[root@file01 ~]# cd /mnt [root@file01 mnt]# cp /etc/sudoers ./f1 [root@file01 mnt]# ls f1 hgfs [root@file01 mnt]# dd if=f1 of=f2 記錄了8+1 的讀入 記錄了8+1 的寫出 4328字節(jié)(4.3 kB)已復(fù)制,0.000566382 秒,7.6 MB/秒 [root@file01 mnt]# ls -l 總用量 16 -r--r----- 1 root root 4328 8月 2 10:11 f1 -rw-r--r-- 1 root root 4328 8月 2 10:12 f2 drwxr-xr-x 2 root root 6 11月 6 2020 hgfs |
②dd if=f1 of=f2 bs=1 count=3:把f1文件導(dǎo)入到f2中,每次導(dǎo)入1字節(jié),導(dǎo)入3次。相關(guān)操作如下:
[root@file01 mnt]# dd if=f1 of=f2 bs=1 count=3 記錄了3+0 的讀入 記錄了3+0 的寫出 3字節(jié)(3 B)已復(fù)制,0.000652474 秒,4.6 kB/秒 [root@file01 mnt]# cat f2 ## [root@file01 mnt]# |
③dd if=/dev/sda1 of=/mnt/f1:把sda1分區(qū)的數(shù)據(jù)導(dǎo)入到f1中,相當(dāng)于用文件存儲(chǔ)整個(gè)分區(qū)數(shù)據(jù)。相關(guān)操作如下:
[root@file01 mnt]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos_mini7-root 253:0 0 17G 0 lvm / └─centos_mini7-swap 253:1 0 2G 0 lvm [SWAP] loop0 7:0 0 32.6M 0 loop /media [root@file01 mnt]# df -Th 文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn) devtmpfs devtmpfs 475M 0 475M 0% /dev tmpfs tmpfs 487M 0 487M 0% /dev/shm tmpfs tmpfs 487M 14M 473M 3% /run tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mapper/centos_mini7-root xfs 17G 3.1G 14G 18% / /dev/sda1 xfs 1014M 229M 786M 23% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0 /dev/loop0 iso9660 33M 33M 0 100% /media [root@file01 mnt]# dd if=/dev/sda1 of=/mnt/f1 記錄了2097152+0 的讀入 記錄了2097152+0 的寫出 1073741824字節(jié)(1.1 GB)已復(fù)制,8.7408 秒,123 MB/秒 [root@file01 mnt]# ls -lh f1 -r--r----- 1 root root 1.0G 8月 2 10:30 f1 |
④dd if=/dev/sda1 of=/dev/sdb1:把sda1分區(qū)的數(shù)據(jù)導(dǎo)入到sdb1中,相當(dāng)于拷貝整個(gè)分區(qū)。
[root@file01 ~]# sfdisk -d /dev/sda|sfdisk /dev/sdb Checking that no-one is using this disk right now ... OK Disk /dev/sdb: 2610 cylinders, 255 heads, 63 sectors/track Old situation: Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sdb1 * 0+ 130- 131- 1048576 83 Linux /dev/sdb2 130+ 2610- 2481- 19921920 8e Linux LVM /dev/sdb3 0 - 0 0 0 空 /dev/sdb4 0 - 0 0 0 空 New situation: Units: sectors of 512 bytes, counting from 0 Device Boot Start End #sectors Id System /dev/sdb1 * 2048 2099199 2097152 83 Linux /dev/sdb2 2099200 41943039 39843840 8e Linux LVM /dev/sdb3 0 - 0 0 空 /dev/sdb4 0 - 0 0 空 Warning: partition 1 does not end at a cylinder boundary Warning: partition 2 does not start at a cylinder boundary Warning: partition 2 does not end at a cylinder boundary Successfully wrote the new partition table |
Re-reading the partition table ... If you created or changed a DOS partition, /dev/foo7, say, then use dd(1) to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1 (See fdisk(8).) [root@file01 ~]# dd if=/dev/sda1 of=/dev/sdb1 記錄了2097152+0 的讀入 記錄了2097152+0 的寫出 1073741824字節(jié)(1.1 GB)已復(fù)制,19.7337 秒,54.4 MB/秒 |
⑤dd if=/dev/sda of=/dev/sdb:把sda磁盤的數(shù)據(jù)導(dǎo)入到sdb磁盤中,相當(dāng)于拷貝整個(gè)磁盤。相關(guān)操作如下:
[root@file01 ~]# dd if=/dev/sda of=/dev/sdb 記錄了41943040+0 的讀入 記錄了41943040+0 的寫出 21474836480字節(jié)(21 GB)已復(fù)制,394.098 秒,54.5 MB/秒 |
⑥dd if=/dev/zero of=/mnt/f1 bs=100M count=5:把空字符導(dǎo)入到f1中,每次導(dǎo)入100M字節(jié),導(dǎo)入5次,相當(dāng)于創(chuàng)建一個(gè)500M的全都是空字符的文件。相關(guān)操作如下:
[root@file01 mnt]# ls -l f1 -r--r----- 1 root root 1073741824 8月 2 10:30 f1 [root@file01 mnt]# dd if=/dev/zero of=/mnt/f1 bs=100M count=5 記錄了5+0 的讀入 記錄了5+0 的寫出 524288000字節(jié)(524 MB)已復(fù)制,0.877345 秒,598 MB/秒 [root@file01 mnt]# ls -l f1 -r--r----- 1 root root 524288000 8月 2 11:00 f1 [root@file01 mnt]# strings f1|more [root@file01 mnt]# hexdump -C f1 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 1f400000 |
注意,/dev/zero并非是真正的設(shè)備或文件,類似于程序,功能是無限生成二進(jìn)制的0,即空字符。
⑦dd if=/dev/zero of=/dev/sdb1 bs=100M count=1:把空字符導(dǎo)入到sdb2分區(qū)中,每次導(dǎo)入100M字節(jié),導(dǎo)入1次,相當(dāng)于擦除分區(qū)前100M空間,多用于分區(qū)無法格式化時(shí),進(jìn)行先擦除再格式化。此操作為危險(xiǎn)操作,執(zhí)行前確保分區(qū)/dev/sdb1中無重要數(shù)據(jù)。
更多內(nèi)容
>>本文地址:http://m.hqfphsz.com/zhuanye/2021/69822.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?