SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【linux】ddコマンド

概要

コマンド
dd – ファイルを変換してコピーする
構文
dd [if=file] [of=file] [ibs=bytes] [obs=bytes] [bs=bytes] [cbs=bytes] [skip=blocks] [seek=blocks] [count=blocks] [conv=code]

詳細は man dddd --help 参照。

使用例

dd は入力から出力へデータをコピーするコマンドである。cp はファイルからファイルにコピーするだけであるが、dd はファイルからデバイス、デバイスからファイル、デバイスからデバイスへのコピーも可能なため、ディスクのバックアップやダンプにも使用できる。

ディスクのコピー

/dev/ad0 を /dev/ad1 にコピーする。ただし両方のディスクが同容量でなくてはならない。

# dd if=/dev/ad0 of=/dev/ad1

フロッピーのコピーなども可能(FDD の内容をファイルにダンプ)。

# dd if=/dev/rfd0 of=fdd.flp

フロッピーのイメージファイルを FDD にコピー。OS インストールフロッピー作成時によく使う。

# dd if=kern.flp of=/dev/rfd0

ディスクのバックアップとリストア

バックアップやリストアは、シングルユーザモードに落とすか、デバイスを umount してから行うこと。

# dd if=/dev/ad0 of=ad0backup.dump

⇒ HDD からファイルへのバックアップ


# dd if=ad0backup.dump of=/dev/ad0

⇒ リストアは、バックアップのときと if・of を逆にする


データ量が大きいときは gzip で圧縮することもできる。

# dd if=/dev/ad0 | gzip -c > ad0backup.dump.gz

⇒ 圧縮しつつバックアップ


# gzip -dc < ad0backup.dump.gz | dd of=/dev/ad0

⇒ 伸長しつつリストア


ネットワーク越しのバックアップ

# tar cf - . | rsh remotehost dd of=/dev/テープデバイス名 obs=20b

ファイルのバックアップとリストア

ディスクだけでなく、ファイル単位でもバックアップできる。1ファイルだけバックアップしていても、あまりうれしくないが、それも可能。

# dd if=.cshrc of=/dev/ad0

⇒ .cshrc を HDD にバックアップ


# dd if=/dev/ad0 of=.cshrc

⇒ .cshrc を HDD からリストア


ディスクイメージの保存、復元

dd if=/dev/sdb of=/mnt/sdc1/USBブートなどのイメージ.img
dd if=/mnt/sdc1/USBブートなどのイメージ.img of=/dev/sdb

関連するメモ

コメント