自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Linux系統(tǒng)中使用dd命令而不會損毀你的磁盤

系統(tǒng) Linux
你是否正在從一個即將損壞的存儲驅(qū)動器挽救數(shù)據(jù),或者要把本地歸檔進行遠程備份,或者要把一個別處的活動分區(qū)做個完整的副本,那么你需要懂得如何安全而可靠的復(fù)制驅(qū)動器和文件系統(tǒng)。使用 Linux 中的 dd 工具安全、可靠地制作一個驅(qū)動器、分區(qū)和文件系統(tǒng)的完整鏡像。

[[237458]]

使用 Linux 中的 dd 工具安全、可靠地制作一個驅(qū)動器、分區(qū)和文件系統(tǒng)的完整鏡像。

這篇文章節(jié)選自 Manning 出版社出版的圖書 Linux in Action的第 4 章。

你是否正在從一個即將損壞的存儲驅(qū)動器挽救數(shù)據(jù),或者要把本地歸檔進行遠程備份,或者要把一個別處的活動分區(qū)做個完整的副本,那么你需要懂得如何安全而可靠的復(fù)制驅(qū)動器和文件系統(tǒng)。幸運的是,dd 是一個可以使用的簡單而又功能強大的鏡像復(fù)制命令,從現(xiàn)在到未來很長的時間內(nèi),也許直到永遠都不會出現(xiàn)比 dd 更好的工具了。

 

對驅(qū)動器和分區(qū)做個完整的副本

仔細研究后,你會發(fā)現(xiàn)你可以使用 dd 做各種任務(wù),但是它最重要的功能是處理磁盤分區(qū)。當然,你可以使用 tar 命令或者 scp 命令從一臺計算機復(fù)制整個文件系統(tǒng)的文件,然后把這些文件原樣粘貼在另一臺剛剛安裝好 Linux 操作系統(tǒng)的計算機中。但是,因為那些文件系統(tǒng)歸檔不是完整的映像文件,所以在復(fù)制文件的過程中需要計算機操作系統(tǒng)的運行作為基礎(chǔ)。

另一方面,使用 dd 可以對任何數(shù)字信息***的進行逐個字節(jié)的鏡像。但是不論何時何地,當你要對分區(qū)進行操作時,我要告訴你早期的 Unix 管理員曾開過這樣的玩笑:“ dd 的意思是磁盤毀滅者disk destroyer”(LCTT 譯注:dd 原意是磁盤復(fù)制disk dump)。 在使用 dd 命令的時候,如果你輸入了哪怕是一個字母,也可能立即***性的擦除掉整個磁盤驅(qū)動器里的所有重要的數(shù)據(jù)。因此,一定要注意命令的拼寫格式規(guī)范。

記?。?/strong> 在按下回車鍵執(zhí)行 dd 命令之前,暫時停下來仔細的認真思考一下。

 

dd 命令的基本操作

現(xiàn)在你已經(jīng)得到了適當?shù)奶嵝?,我們將從簡單的事情開始。假設(shè)你要對代號為 /dev/sda 的整個磁盤數(shù)據(jù)創(chuàng)建精確的映像,你已經(jīng)插入了一塊空的磁盤驅(qū)動器 (理想情況下具有與代號為 /dev/sda 的磁盤驅(qū)動器相同的容量)。語法很簡單: if= 定義源驅(qū)動器,of= 定義你要將數(shù)據(jù)保存到的文件或位置:

  1. # dd if=/dev/sda of=/dev/sdb

接下來的例子將要對 /dev/sda 驅(qū)動器創(chuàng)建一個 .img 的映像文件,然后把該文件保存的你的用戶帳號家目錄:

  1. # dd if=/dev/sda of=/home/username/sdadisk.img

上面的命令針對整個驅(qū)動器創(chuàng)建映像文件,你也可以針對驅(qū)動器上的單個分區(qū)進行操作。下面的例子針對驅(qū)動器的單個分區(qū)進行操作,同時使用了一個 bs 參數(shù)用于設(shè)置單次拷貝的字節(jié)數(shù)量 (此例中是 4096)。設(shè)定 bs 參數(shù)值可能會影響 dd 命令的整體操作速度,該參數(shù)的理想設(shè)置取決于你的硬件配置和其它考慮。

  1. # dd if=/dev/sda2 of=/home/username/partition2.img bs=4096

數(shù)據(jù)的恢復(fù)非常簡單:通過顛倒 ifof 參數(shù)可以有效的完成任務(wù)。在此例中,if= 使用你要恢復(fù)的映像,of= 使用你想要寫入映像的目標驅(qū)動器:

  1. # dd if=sdadisk.img of=/dev/sdb

你也可以在一條命令中同時完成創(chuàng)建和拷貝任務(wù)。下面的例子中將使用 SSH 從遠程驅(qū)動器創(chuàng)建一個壓縮的映像文件,并把該文件保存到你的本地計算機中:

  1. # ssh username@54.98.132.10 "dd if=/dev/sda | gzip -1 -" | dd of=backup.gz

你應(yīng)該經(jīng)常測試你的歸檔,確保它們可正常使用。如果它是你創(chuàng)建的啟動驅(qū)動器,將它粘貼到計算機中,看看它是否能夠按預(yù)期啟動。如果它是普通分區(qū)的數(shù)據(jù),掛載該分區(qū),確保文件都存在而且可以正常的訪問。

 

使用 dd 擦除磁盤數(shù)據(jù)

多年以前,我的一個負責政府海外大使館安全的朋友曾經(jīng)告訴我,在他當時在任的時候, 政府會給每一個大使館提供一個官方版的錘子。為什么呢? 一旦大使館設(shè)施可能被不友善的人員侵占,就會使用這個錘子毀壞所有的硬盤.

為什么要那樣做?為什么不是刪除數(shù)據(jù)就好了?你在開玩笑,對吧?所有人都知道從存儲設(shè)備中刪除包含敏感信息的文件實際上并沒有真正移除這些數(shù)據(jù)。除非使用錘子徹底的毀壞這些存儲介質(zhì),否則,只要有足夠的時間和動機, 幾乎所有的內(nèi)容都可以從幾乎任何數(shù)字存儲介質(zhì)重新獲取。

但是,你可以使用 dd 命令讓壞人非常難以獲得你的舊數(shù)據(jù)。這個命令需要花費一些時間在 /dev/sda1 分區(qū)的每個扇區(qū)寫入數(shù)百萬個 0(LCTT 譯注:是指 0x0 字節(jié),意即 NUL ,而不是數(shù)字 0 ):

  1. # dd if=/dev/zero of=/dev/sda1

還有更好的方法。通過使用 /dev/urandom 作為源文件,你可以在磁盤上寫入隨機字符:

  1. # dd if=/dev/urandom of=/dev/sda1

 

監(jiān)控 dd 的操作

由于磁盤或磁盤分區(qū)的歸檔可能需要很長的時間,因此你可能需要在命令中添加進度查看器。安裝管道查看器(在 Ubuntu 系統(tǒng)上安裝命令為 sudo apt install pv),然后把 pv 命令和 dd 命令結(jié)合在一起。使用 pv,最終的命令是這樣的:

  1. # dd if=/dev/urandom | pv | dd of=/dev/sda1
  2.  
  3. 4,14MB 0:00:05 [ 98kB/s] [ <=> ]

想要推遲備份和磁盤管理工作?有了 dd 工具,你不會有太多的借口。它真的非常簡單,但是要小心。祝你好運! 

責任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2018-07-10 09:00:00

Linuxdd工具磁盤

2018-06-26 09:15:24

Linux命令history

2022-11-18 10:16:26

Linuxwc 命令

2018-05-16 10:32:06

Linux命令find

2022-10-25 09:07:28

Linuxxargs命令

2023-09-14 15:05:33

grep正則表達式

2018-06-25 11:58:23

Linuxparted磁盤分區(qū)

2021-07-20 10:00:28

Linuxgrep命令

2021-07-13 07:52:02

Linuxgrep命令

2021-01-13 09:40:26

Linuxexport命令

2018-01-09 09:00:01

Linux命令文件壓縮

2009-10-22 10:50:47

linux磁盤管理命令

2018-03-08 09:14:45

云計算虛擬磁盤

2022-03-30 09:32:32

BashtestLinux

2019-09-16 19:00:48

Linux變量

2018-04-28 09:12:42

Linux

2022-05-25 08:41:48

Linuxfd 命令文件

2023-01-31 17:36:22

IPLinux網(wǎng)絡(luò)

2023-01-09 10:29:41

mv命令Linux

2022-11-07 12:52:25

Linuxfsck命令
點贊
收藏

51CTO技術(shù)棧公眾號