dd 工具

dd 工具

用於複製文件並對原文件的內容進行轉換和格式化處理

用法:

dd if=/PATH/FROM/SRC of=/PATH/TO/DEST bs=# count=#

 if=file 從所命名文件讀取而不是從標準輸入
 of=file 寫到所命名的文件而不是到標準輸出
 ibs=size 一次讀size個byte
 obs=size 一次寫size個byte
 bs=size block size, 指定塊大小(既是是ibs也是obs)
 cbs=size 一次轉化size個byte
 skip=blocks 從開頭忽略blocks個ibs大小的塊
 seek=blocks 從開頭忽略blocks個obs大小的塊
 count=n 複製n個bs
 conv=conversion[,conversion...] 用指定的參數轉換文件

  轉換參數:
   ascii 轉換 EBCDIC 爲 ASCII
   ebcdic 轉換 ASCII 爲 EBCDIC
   lcase 把大寫字符轉換爲小寫字符
   ucase 把小寫字符轉換爲大寫字符
   nocreat 不創建輸出文件
   noerror 出錯時不停止
   notrunc 不截短輸出文件
   sync 把每個輸入塊填充到ibs個字節,不足部分用空(NUL)字符補齊
   fdatasync 寫完成前,物理寫入輸出文件

示例

  • 備份MBR

      dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1

  • 破壞MBR中的bootloader

      dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446

  • 有一個大與2K的二進制文件fileA。現在想從第64個字節位置開始讀取,需要讀取的大小是128Byts。又有fileB, 想把上面讀取到的128Bytes寫到第32個字節開始的位置,替換128Bytes,實現如下

      dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc

  • 將/dev/sdx全盤數據備份到指定路徑的image文件

      dd if=/dev/sdx of=/path/to/image

  • 備份/dev/sdx全盤數據,並利用gzip壓縮,保存到指定路徑

      dd if=/dev/sdx | gzip >/path/to/image.gz

  • 將備份文件恢復到指定盤

      dd if=/path/to/image of=/dev/sdx

  • 將壓縮的備份文件恢復到指定盤

      gzip -dc /path/to/image.gz | dd of=/dev/sdx

  • 測試硬盤寫速度

      dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000

  • 測試硬盤讀速度

      dd if=/root/1Gb.file bs=64k | dd of=/dev/null

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章