dd 命令簡介工具
dd -- 轉換和複製文件測試
複製文件(指定大小) , 根據操做數進行轉換和格式化;spa
參數:code
if=FILE // 從 FILE 文件中讀取; 即指定源文件; 若是不指定if 默認從 stdin 讀取; of=FILE // 寫入到 FILE 文件; 即指定目標文件, 若是不指定of 默認輸出到 stdout; iflag=FLAGS // 設置讀入的標誌, 這些標誌參數控制 dd 如何讀入數據; ( 按照逗號分割的符號列表讀取 ); oflag=FLAGS // 設置輸出的標誌, 控制 dd 如何輸出數據; ( 按照逗號分割的符號列表編寫 ); bs=BYTES // 讀取和寫入的塊大小字節數, < 至關於設置 ibs 和 obs >; cbs=BYTES // 每次轉換的字節數, 即指定轉換緩衝區的大小; conv=CONVS // 使用指定參數轉換文件; count=N // 只拷貝 N 個輸入塊(ibs 設置的字節數); ibs=BYTES // 每次讀取的字節數 ( 默認 512 ); obs=BYTES // 每次寫入的字節數 ( 默認 512 ); seek=BLOCKS // 輸出到 output 文件時, 跳過 obs 大小的塊; 即跳過n個block, 從 n+1 個開始寫入; skip=BLOCKS // 輸入時, 跳過 ibs 大小的塊; 即跳過 n 個block, 從 n+1 個開始讀取; status=WHICH // 指哪些信息要抑制輸出到stderr; 'noxfer'--抑制傳輸統計, 'none' -- 抑制全部;
示例blog
// 整個磁盤備份 dd if=/dev/sdb of=/dev/sdc // 分區進行備份; 掛載 /dev/sdb2 進行查看 dd if=/dev/sda1 of=/dev/sdb2 mount /dev/sdb2 /tian ls /tian config-2.6.32-431.el6.x86_64 lost+found efi symvers-2.6.32-431.el6.x86_64.gz grub System.map-2.6.32-431.el6.x86_64 initramfs-2.6.32-431.el6.x86_64.img vmlinuz-2.6.32-431.el6.x86_64 // 將 /dev/sda 全盤數據備份到指定路徑的指定文件, 文件名能夠自定義,不用提早建立文件; dd if=/dev/sda of=/back/backup // 將備份文件恢復到指定的盤; dd if=/back/backup of=/dev/sdb // 備份全盤數據, 並使用 gzip 工具壓縮後保存到指定目錄; dd if=/dev/sda | gzip > /back/backup.zip // 將壓縮的備份文件恢復到指定磁盤 gzip -dc /back/backup.gz |dd of=/dev/sdb // 備份 MBR ( 磁盤的前 512 個字節 ) dd if=/dev/sda of=/back/mbr_back count=1 bs=512 // 恢復 MBR dd if=/back/mbr_back of=/dev/sdb // 測試寫的速度 dd if=/dev/zero bs=1024 count=1000000 of=/back/file // 測試讀的速度 dd if=/back/file bs=64k | dd of=/dev/null // 能夠經過 寫的速度, 使用不一樣塊大小測出不一樣的速度, 肯定系統最佳的塊大小 dd if=/dev/zero bs=1024 count=1000000 of=/back/file dd if=/dev/zero bs=2048 count=500000 of=/back/file ... ...