dd簡述
dd在linux中是 一個強大的命令,常用于拷貝大量數據,測試讀寫效能 ,清空硬盤數據(慎用),不僅如此,由于dd 允許以二進制方式讀寫,所以特別適合在原始設備上輸入、輸出。
dd與cp的區別
這里有必要說明一下,兩個命令都可用于拷貝,但是級別卻完全不一樣:cp是文件級別的讀取方式,而dd更底層,可以數據塊級別去讀取硬盤,由此可看出在效率上顯然dd更勝一籌;其次在較大數據拷貝中,cp是復制文件(其本質是新建),過程中經由操作系統處理,最終存放在硬盤上的數據是隨機分散的,并不連續,而dd的拷貝可以做到在硬盤上數據的存儲是連續的,其它不再枚舉,總之dd在較大數據量的備份場景,更加高效
dd常用參數
if=inputfile:指定源文件,即指定輸入文件、缺省為標準輸入,在LINUX中一切皆文件,因此可指定一些特殊的文件(如設備文件)用于特殊用途
of=outputfile:指定目標文件,即指定輸出文件,缺省為標準輸出
bs=N bytes:同時指定讀入/輸出的塊大小為N個字節,N為數字
count=N blocks:指定拷貝的塊數量,塊大小由bs指定。N為數字
通常最常用的參數也就這四個,事實上dd支持的參數非常之多,在此不過多枚舉(實際應用不是很多,需用到時在MAN下吧)
命令格式及常見用法
1.備份整個盤(分區)的數據:dd if=/dev/sda of=/dev/sdb
2.備份整個盤(分區)數據到某個文件:dd if=/dev/sda of=/path/to/filename
*將文件內容還原到某硬盤:dd if=srcfile of=/dev/sda
3.備份整個盤(分區)并壓縮后保存至指定路徑:dd if=/dev/sda | gzip > /path/to/filename.gz
*將備份的壓縮文件還原到硬盤{分區}:gzip -dc /path/to/filename.gz | dd of=/dev/sda
4.備份與還原MBR:dd if=/dev/sda of=/path/to/filename bs=512 count=1
*bs用于指定備份的塊大小,單位為字節,這里表示將sda的第一個扇區(恰好512字節),也就是MBR存放的位置;count用于指定塊的數量
*還原:dd if=/path/to/filename of=/dev/sdb
5.拷貝內存內容到硬盤:dd if=/dev/mem of=/path/to/filename.mem bs=1024
6.拷貝光盤內容到硬盤:dd if=/dev/cdrom of=/path/to/filename.iso
7.增加swap分區文件大小
①創建一個相應大小的文件(空白文件,這里可以使用/dev/zero填充)
dd if=/dev/zero of=/swapfile bs=1024 count=100000;(根據需要自行調整大小,此處為100M)
②將此前創建的文件識別為swap文件
mkswap /swapfile
③啟用創建好的SWAP文件
swapon /swapfile
④掛載SWAP,mount掛載重啟后會失效,這里設定為自定掛載,打開/etc/fstab文件新增一行
/swapfile swap swap default 0 0至此,完成swap大小的調整
8.銷毀硬盤數據(慎用)
dd if=/dev/urandom of=/dev/sdb ( 這里利用隨機數填充硬盤,某些特殊場合可以用來銷毀數據)
9.測試硬盤讀寫速度
①dd if=/dev/zero bs=1024 count=1000000 of=/path/to/test.1GB 測試寫入速度,通過命令執行時間計算
②dd if=/path/to/test.1GB bs=64K | dd of=/dev/null 測試讀取速度,通過命令執行時間計算
10.測試硬盤效能最佳塊大小
dd if=/dev/zero bs=1024 count=1000000 of=/path/to/test.1GB
dd if=/dev/zero bs=2048 count=500000 of=/path/to/test.1GB
dd if=/dev/zero bs=4096 count=250000 of=/path/to/test.1GB
dd if=/dev/zero bs=8192 count=125000 of=/path/to/test.1GB
*通過各命令執行的時間可大概測試最佳塊大小
11.某種程度上修復硬盤
dd if=/dev/sda of=/dev/sda
總結:dd命令很好很強大
原創文章,作者:sevenyellow,如若轉載,請注明出處:http://www.www58058.com/72551
對dd命令的用法寫的很詳細,可以適當的插入幾張圖片,注意一下排版。這樣會好很多