dd命令打包多個檔案 dd命令詳解及實戰應用

2021-10-16 18:52:09 字數 2261 閱讀 9831

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=1000000of=/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命令很好很強大

dd命令打包多個檔案 dd命令詳解

一 dd命令的解釋 dd 用指定大小的塊拷貝乙個檔案,並在拷貝的同時進行指定的轉換。注意 指定數字的地方若以下列字元結尾,則乘以相應的數 字 b 512 c 1 k 1024 w 2 引數注釋 1.if 檔名 輸入檔名,預設為標準輸入。即指定原始檔。if input file 2.of 檔名 輸出檔...

dd命令使用

先簡要介紹dd的引數,後邊通過幾個例項介紹dd的應用,參考了其他的資料,在此一併感謝 小菜水平有限文中有什麼錯誤請大家指正,關於dd還有什麼好的使用方法,可以貼出來,小菜會及時更新 dd 是 linux unix 下的乙個非常有用的命令,作用是用指定大小的塊拷貝乙個檔案,並在拷貝的同時進行指定的轉換...

dd命令使用

先簡要介紹dd的引數,後邊通過幾個例項介紹dd的應用,參考了其他的資料,在此一併感謝 小菜水平有限文中有什麼錯誤請大家指正,關於dd還有什麼好的使用方法,可以貼出來,小菜會及時更新 dd 是 linux unix 下的乙個非常有用的命令,作用是用指定大小的塊拷貝乙個檔案,並在拷貝的同時進行指定的轉換...