人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Linux dd命令詳解:數(shù)據(jù)備份,并在備份過程中進行格式轉(zhuǎn)換案例

發(fā)布日期:2021-12-17 09:59 | 文章來源:腳本之家

dd 命令主要用來進行數(shù)據(jù)備份,并且可以在備份的過程中進行格式轉(zhuǎn)換。其實 dd 命令可以把源數(shù)據(jù)復(fù)制成目標(biāo)數(shù)據(jù),而且不管源數(shù)據(jù)是文件、分區(qū)、磁盤還是光盤,都可以進行數(shù)據(jù)備份。

dd 命令的基本格式如下:

[root@localhost ~]# dd if="輸入文件" of="輸出文件" bs="數(shù)據(jù)塊" count="數(shù)量"

參數(shù):

  1. if:定義輸入數(shù)據(jù)的文件,也可以是輸入設(shè)備;
  2. of:定義輸出數(shù)據(jù)的文件,也可以是輸出設(shè)備;
  3. bs:指定數(shù)據(jù)塊的大小,也就是定義一次性讀取或?qū)懭攵嗌僮止?jié)。模式數(shù)據(jù)塊大小是 512 字節(jié);
  4. count:指定 bs 的數(shù)量;
  5. conv=標(biāo)志:依據(jù)標(biāo)志轉(zhuǎn)換文件。標(biāo)志有以下這些:
    • ascii:由 EBCDIC 碼轉(zhuǎn)換至 ASCII 碼;
    • ebcdic:由 ASCII 碼轉(zhuǎn)換至 EBCDIC 碼;
    • ibm:由 ASCII 碼轉(zhuǎn)換至替換的 EBCDIC 碼;
    • block:將結(jié)束字符塊里的換行替換成等長的空格;
    • unblock:將 cbs 大小的塊中尾部的空格替換為一個換行符;
    • lcase:將大寫字符轉(zhuǎn)換為小寫;
    • notrunc:不截斷輸出文件;
    • ucase:將小寫字符轉(zhuǎn)換為大寫;
    • swab:交換每一對輸入數(shù)據(jù)字節(jié);
    • noerror:讀取數(shù)據(jù)發(fā)生錯誤后仍然繼續(xù);
    • sync:將每個輸入數(shù)據(jù)塊以 NUL 字符填滿至 ibs 的大小;當(dāng)配合 block 或 unblock 時,會以空格代替 NUL 字符填充;

【例 1】備份文件

[root@localhost ~]# dd if=/etc/httpd/conf/httpd.conf of=/tmp/httpd.bak
記錄了67+1 的讀入
#數(shù)據(jù)占了寫滿的67個數(shù)據(jù)塊,以及1個沒有寫滿的數(shù)據(jù)塊
記錄了67+1 的寫出
#默認數(shù)據(jù)塊大小是512字節(jié)
34439字節(jié)(34 kB)已復(fù)制,0.0524897 秒,656 kB/秒
#如果要備份文件,那么dd命令和cp命令非常類似
[root@localhost ~]# ll -h /tmp/httpd.bak
-rw-r--r--.1 root root 34K 6月 5 18:04 /tmp/httpd.bak
#查看一下生成的備份文件的大小

【例 2】備份分區(qū)為一個備份文件

[root@localhost ~]# df -h
文件系統(tǒng) 容量 已用 可用 已用%% 掛載點
/dev/sda3 20G 2.0G 17G 11% /
tmpfs 306M 0 306M 0% /dev/shm
/dev/sda1 194M 27M 157M 15% /boot
/dev/sr0 3.5G 3.5G 0 100% /mnt/cdrom
#查看一下分區(qū)容量,我們備份/boot分區(qū)
[root@localhost ~]# dd if=/dev/sda1 of=/tmp/boot.bak
#備份完成
[root@localhost ~]# ll -h /tmp/boot.bak
-rw-r--r--.1 root root 200M 6月 5 18:14 /tmp/boot.bak
#查看生成的備份文件
#如果需要恢復(fù),則執(zhí)行以下命令
[root@localhost ~]# dd if=/tmp/boot.bak of=/dev/sda1

如果想要把分區(qū)直接備份成另一個分區(qū),就需要生成一個新的分區(qū),這個分區(qū)的大小不能比源分區(qū)小,只能和源分區(qū)大小一致或比它大。命令如下:

[root@localhost ~]# dd if=/dev/sda1 of=/dev/sdb1
#如果需要恢復(fù),則只需把輸入項和輸出項反過來即可,命令如下
[root@localhost ~]# dd if=/dev/sdb1 of=/dev/sda1

【例 3】整盤備份

[root@localhost ~]# dd if=/dev/sda of=/dev/sdb
#把磁盤a備份到磁盤b
[root@localhost ~]# dd if=/dev/sda of=/tmp/disk.bak
#把磁盤a備份成文件disk.bak
#備份恢復(fù)
#如果要備份到另一塊硬盤上,那么,當(dāng)源硬盤數(shù)據(jù)損壞時,只需用備份硬盤替換源硬盤即可
#如果要備份成文件,那么在恢復(fù)時需要把備份數(shù)據(jù)復(fù)制到其他Linux中,然后把新硬盤安裝到這臺Linux
#服務(wù)器上,再把磁盤備份數(shù)據(jù)復(fù)制到新硬盤中。命令如下
[root@localhost ~]# dd if=/tmp/disk.bak of=/dev/sdb

【例 4】復(fù)制軟盤

[root@localhost ~]# dd if=/dev/fd0 of=/tmp/fd.bak
#在Linux中軟盤的設(shè)備文件名是/dev/fd0
#這條命令先把軟盤中的數(shù)據(jù)保存為臨時數(shù)據(jù)文件
[root@localhost ~]# dd if=/tmp/fd.bak of=/dev/fd0
#然后更換新的軟盤,把數(shù)據(jù)備份復(fù)制到新軟盤中,就實現(xiàn)了軟盤的復(fù)制

如果需要備份的是光盤,那么在 Linux 中就是使用 dd 命令制作光盤的 ISO 鏡像的。命令如下:

#制作光盤ISO鏡像
[root@localhost ~]# dd if=/dev/cdrom of-/tmp/cd.iso #把光盤中所有的數(shù)據(jù)制作成ISO鏡像
[root@localhost ~J # mkdir /mnt/cd
#建立一個新的掛載點
[root@localhost ~]# mount -o loop /tmp/cd.iso /mnt/cd #掛栽ISO文件到掛載點
[root@localhost ~]# cd /mnt/cd
#進入掛栽點
[root@localhost cd]# ls
CentOS_BuildTag images RELEASE-NOTES-en-tJS.html RPM-GPG-KEY-CentOS-Debug-6 TRANS.TBL
EULA isolinux repodataRPM-GPG-KEY-CentOS-Security-6
GPL Packages RPM-GPG-KEY-CentOS-6 RPM-GPG-KEY-CentOS-Testing-6
#數(shù)據(jù)是光盤當(dāng)中的數(shù)據(jù),這個ISO鏡像是可以被當(dāng)作真正的光盤使用的

我們有時需要制作指定大小的文件,比如,在增加 swap 分區(qū)時,就需要建立指定大小的文件,這時也使用 dd 命令。命令如下:

[root@localhost ~]# dd if=/dev/zero of=/tmp/testfile bs=1M count=10
#數(shù)據(jù)輸入項是/dev/zero會向目標(biāo)文件中不停地寫入二進制的0
#指定數(shù)據(jù)塊大小是1MB
#指定生成10個數(shù)據(jù)塊。也就是定義輸出的文件大小為10MB
記錄了10+0 的讀入
#顯示數(shù)據(jù)占滿了10個數(shù)據(jù)塊
記錄了10+0 的寫出
#不過這里數(shù)據(jù)塊的大小已經(jīng)是1MB了
10485760字節(jié)(10 MB)已復(fù)制,0.00709902 秒,1.5 GB/秒
[root@localhost ~]# ll -h /tmp/testfile
-rw-r--r--.1 root root 10M 6月 5 18:46 /tmp/testfile
#生成的testfile文件的大小剛好是10MB

dd 命令在進行整盤復(fù)制時,類似于 GHOST 工具的功能,不過通過 dd 命令復(fù)制出來的硬盤數(shù)據(jù)要比 GHOST 復(fù)制出來的硬盤數(shù)據(jù)穩(wěn)定得多。雖然 dd 命令功能強大,不過也有一個明顯的缺點,就是復(fù)制的時間較長,復(fù)制 100GB 的數(shù)據(jù)需要 15~25 分鐘(根據(jù)服務(wù)器的性能不同而不同)。

實現(xiàn)數(shù)據(jù)備份還有非常多的方法和工具,比如 tar 和 cpio 命令。至于網(wǎng)絡(luò)復(fù)制工具,如 rsync 和 scp 等,需要較完善的網(wǎng)絡(luò)知識才能夠?qū)W習(xí),這里不再介紹。

到此這篇關(guān)于Linux dd命令詳解:數(shù)據(jù)備份,并在備份過程中進行格式轉(zhuǎn)換案例的文章就介紹到這了,更多相關(guān)Linux dd命令內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部