磁盤管理 -- 對拷 dd 命令

 

 

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
... ...
相關文章
相關標籤/搜索