トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

ddコマンド

http://x68000.q-e-d.net/~68user/unix/pickup?dd

ディスクコピー

dd if=/dev/hda of=/dev/hdb bs=32M

hda がコピー元
hdb がコピー先
bs のサイズは環境に合わせる。省略しても動くけど、遅いことがある

コピー先は、コピー元以上のサイズでなければならない。
(FAT32、ext3などのファイルシステムに左右されない)

lzop で圧縮してバックアップ、リストア

http://blog.dc-d.jp/?p=600
バックアップ

dd if=/dev/sda | lzop -c > /mnt/sdc1/sda.img.lzo 

リストア

lzop -dc < /mnt/sdc1/sda.img.lzo | dd of=/dev/sda 

gzip で圧縮してバックアップ、リストア

圧縮率は lzop より高いが、速度が遅い。
バックアップ

dd if=/dev/sda | gzip -c > /mnt/sdc1/sda.img.gz

リストア

gzip -dc < /mnt/sdc1/sda.img.gz | dd of=/dev/sda

ファイル作成

dd if=/dev/zero of=/swapfile bs=1M count=1024
dd if=/dev/zero of=50mb bs=1M count=50

とりあえず、bs は困ったら 1M くらいが無難。

MBRバックアップ

dd if=/dev/hda of=$backdata/mbr.img bs=512 count=1

MBRリストア

dd if=mbr.img of=/dev/hda bs=446 count=1

途中経過を表示する

kill -USR1 プロセス番号

で、dd の途中経過を表示できる


主要オプション一覧

if=[ファイル] 入力ファイル (デバイス)。指定しないと標準入力。
of=[ファイル] 出力ファイル (デバイス)。指定しないと標準出力。
bs=[サイズ] 入出力のブロックサイズを指定。ibs と obs の両方に同じ値をセットする場合に使用する。
ibs=[サイズ] 入力のブロックサイズを指定
obs=[サイズ] 出力のブロックサイズを指定
count=[ブロック数] コピーするブロック数を指定
conv=変換オプション 変換オプションを指定 (後述)。conv=hoge,fuga などと複数指定も可能。
seek=[ブロック数] 出力の開始位置を指定されたブロックに移動してからコピーする
oseek=[ブロック数] FreeBSD では seek と同じ。Solaris では違うっぽい…?
skip=[ブロック数] 入力の開始位置を指定されたブロックに移動してからコピーする
iseek=[ブロック数] FreeBSD では skip と同じ。Solaris では skip より速いと書いてある…?

サイズには数字のほか、k・m・g などの単位を指定できる (ブロック数にも使えるけど混乱するかも)。
bs=1 1バイト
bs=1b 512バイト (b はバイトではなくブロック)
bs=1k 1KB
bs=1m 1MB
bs=1g 1GB

[カテゴリ: OS > Linux]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2013年04月22日 22時01分53秒