本篇文章給大家分享的是有關(guān)如何正確的在Linux中使用dd命令,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
五指山網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),五指山網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為五指山數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的五指山做網(wǎng)站的公司定做!dd命令的解釋
dd:用指定大小的塊拷貝一個(gè)文件,并在拷貝的同時(shí)進(jìn)行指定的轉(zhuǎn)換。
注意:指定數(shù)字的地方若以下列字符結(jié)尾,則乘以相應(yīng)的數(shù)字:b=512;c=1;k=1024;w=2
參數(shù)注釋:
1. if=文件名:輸入文件名,缺省為標(biāo)準(zhǔn)輸入。即指定源文件。< if=input file >
2. of=文件名:輸出文件名,缺省為標(biāo)準(zhǔn)輸出。即指定目的文件。< of=output file >
3. ibs=bytes:一次讀入bytes個(gè)字節(jié),即指定一個(gè)塊大小為bytes個(gè)字節(jié)。
obs=bytes:一次輸出bytes個(gè)字節(jié),即指定一個(gè)塊大小為bytes個(gè)字節(jié)。
bs=bytes:同時(shí)設(shè)置讀入/輸出的塊大小為bytes個(gè)字節(jié)。
4. cbs=bytes:一次轉(zhuǎn)換bytes個(gè)字節(jié),即指定轉(zhuǎn)換緩沖區(qū)大小。
5. skip=blocks:從輸入文件開頭跳過blocks個(gè)塊后再開始復(fù)制。
6. seek=blocks:從輸出文件開頭跳過blocks個(gè)塊后再開始復(fù)制。
注意:通常只用當(dāng)輸出文件是磁盤或磁帶時(shí)才有效,即備份到磁盤或磁帶時(shí)才有效。
7. count=blocks:僅拷貝blocks個(gè)塊,塊大小等于ibs指定的字節(jié)數(shù)。
8. conv=conversion:用指定的參數(shù)轉(zhuǎn)換文件。
ascii:轉(zhuǎn)換ebcdic為ascii
ebcdic:轉(zhuǎn)換ascii為ebcdic
ibm:轉(zhuǎn)換ascii為alternate ebcdic
block:把每一行轉(zhuǎn)換為長度為cbs,不足部分用空格填充
unblock:使每一行的長度都為cbs,不足部分用空格填充
lcase:把大寫字符轉(zhuǎn)換為小寫字符
ucase:把小寫字符轉(zhuǎn)換為大寫字符
swab:交換輸入的每對字節(jié)
noerror:出錯(cuò)時(shí)不停止
notrunc:不截短輸出文件
sync:將每個(gè)輸入塊填充到ibs個(gè)字節(jié),不足部分用空(NUL)字符補(bǔ)齊。
為驅(qū)動器和分區(qū)制作完美副本
如果你研究足夠深入,可以用dd執(zhí)行各種任務(wù),但它最出色的功能就是讓你可以玩轉(zhuǎn)分區(qū)。當(dāng)然,可以使用tar甚至scp來復(fù)制整個(gè)文件系統(tǒng),辦法就是從一臺計(jì)算機(jī)復(fù)制文件,然后將它們原封不動地粘貼到另一臺計(jì)算機(jī)上新安裝的Linux。但是,由于那些文件系統(tǒng)歸檔不是完整的鏡像,它們需要在兩頭都運(yùn)行主機(jī)操作系統(tǒng)作為基礎(chǔ)。
另一方面,使用dd可以為幾乎任何數(shù)字化內(nèi)容制作逐字節(jié)對應(yīng)的完美鏡像。但是在你開始將分區(qū)從一個(gè)地方復(fù)制到另一個(gè)地方,有必要提一下:“dd代表磁盤破壞者”這句盛傳于Unix管理員當(dāng)中的老話有一定道理。即使在dd命令中輸錯(cuò)哪怕一個(gè)字符,都會立即永久地清除整個(gè)驅(qū)動器的寶貴數(shù)據(jù)。是的,確保輸入無誤很重要。
切記:在按下回車鍵調(diào)用dd之前,務(wù)必要考慮清楚!
dd的基本操作
我們已對你作了必要的警告,先從簡單的方面開始入手。假設(shè)你想為被指定為/dev/sda的整個(gè)磁盤的數(shù)據(jù)創(chuàng)建一個(gè)精確鏡像。你已插入了空的驅(qū)動器(理想情況下容量與/dev/sda系統(tǒng)一樣大)。語法很簡單:if =定義源驅(qū)動器,of =定義保存數(shù)據(jù)的文件或位置:
# dd if=/dev/sda of=/dev/sdb
下一個(gè)例子將創(chuàng)建/dev/sda驅(qū)動器的.img歸檔,將其保存到用戶帳戶的主目錄中:
# dd if=/dev/sda of=/home/username/sdadisk.img
那些命令創(chuàng)建了整個(gè)驅(qū)動器的鏡像。你還可以專注于驅(qū)動器中的單個(gè)分區(qū)。下一個(gè)例子執(zhí)行該操作,還使用bs設(shè)置一次復(fù)制的字節(jié)數(shù)(本例中是4096個(gè)字節(jié))。調(diào)整bs值可能會影響dd操作的整體速度,但理想的設(shè)置將取決于你的硬件配置文件及其他考量因素。
# dd if=/dev/sda2 of=/home/username/partition2.img bs=4096
恢復(fù)起來很簡單:實(shí)際上只要將if的值和of的值反過來。在本文中,if=對應(yīng)你想要恢復(fù)的鏡像,of=對應(yīng)你想要寫入鏡像的目標(biāo)驅(qū)動器:
# dd if=sdadisk.img of=/dev/sdb
還可以在一個(gè)命令中同時(shí)執(zhí)行創(chuàng)建操作和復(fù)制操作。比如說,該例子將使用SSH創(chuàng)建遠(yuǎn)程驅(qū)動器的壓縮鏡像,并將生成的歸檔保存到本地計(jì)算機(jī):
# ssh username@54.98.132.10 "dd if=/dev/sda | gzip -1 -" | dd of=backup.gz
你應(yīng)該始終測試歸檔,確認(rèn)它們是否正??捎谩H绻悄銊?chuàng)建的啟動驅(qū)動器,將它插入到計(jì)算機(jī),看看是否正常啟動。如果它是普通的數(shù)據(jù)分區(qū),掛載它以確保文件存在且可以正常訪問。
用dd擦除磁盤
多年前,我有個(gè)朋友為其政府負(fù)責(zé)海外大使館的安保工作。他曾告訴我,他監(jiān)管的每個(gè)大使館都配有政府發(fā)放的一把錘子。為什么?萬一大使館遇到什么危險(xiǎn),可以使用這把錘子砸爛所有硬盤。
那為什么不刪除數(shù)據(jù)呢?你不是在開玩笑吧?眾所周知,從存儲設(shè)備刪除含有敏感數(shù)據(jù)的文件實(shí)際上刪除不了數(shù)據(jù)。如果時(shí)間夠充裕、動機(jī)夠強(qiáng)烈,可以從幾乎任何數(shù)字介質(zhì)找回幾乎任何數(shù)據(jù),那些被砸得稀巴爛的數(shù)字介質(zhì)除外。
然而,你可以使用dd讓不法分子極難搞到你的舊數(shù)據(jù)。這個(gè)命令將花一些時(shí)間在/dev/sda1分區(qū)的每個(gè)角落上創(chuàng)建數(shù)百萬個(gè)0:
# dd if=/dev/zero of=/dev/sda1
但它可以變得更好。使用/dev/urandom文件作為來源,你可以使用隨機(jī)字符寫入到磁盤:
# dd if=/dev/urandom of=/dev/sda1
監(jiān)控dd操作
由于磁盤或分區(qū)歸檔可能要花很長時(shí)間,你可能需要為命令添加進(jìn)度監(jiān)控工具。安裝Pipe Viewer(Ubuntu上執(zhí)行sudo apt install pv),并將其插入到dd。使用pv,最后一個(gè)命令看起來像這樣:
# dd if=/dev/urandom | pv | dd of=/dev/sda1 4,14MB 0:00:05 [ 98kB/s] [ <=> ]
以上就是如何正確的在Linux中使用dd命令,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章標(biāo)題:如何正確的在Linux中使用dd命令-創(chuàng)新互聯(lián)
本文路徑:http://jinyejixie.com/article24/dsicje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、企業(yè)建站、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站排名、軟件開發(fā)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)