Opensource.comは2018年7月5日(米国時間)、「How to use dd in Linux without destroying your disk|Opensource.com」においてddコマンドの使い方を紹介した。ddコマンドはディスクデータのコピーやバックアップ、イメージファイルの書き込み、ディスクデータの破棄などさまざまな用途で使われるコマンド。使い方を間違えると、簡単にデータが壊れてしまうため注意が必要。
紹介されている主な使い方は次のとおり。
ddコマンドの基本的な使い方 ディスクからディスクへデータをコピー
dd if=/dev/コピー元デバイスファイル of=/dev/コピー先デバイスファイル
ディスクをイメージファイルに書き出し
dd if=/dev/コピー元デバイスファイル of=/path/to/ファイル名.img
データ転送サイズを指定(性能が発揮できる値はケースバイケースで異なる)
dd if=/dev/コピー元デバイスファイル of=/path/to/ファイル名.img bs=転送サイズ
イメージファイルをディスクに書き込み
dd if=/path/to/ファイル名.img of=/dev/コピー先デバイスファイル
ネットワーク経由でディスクデータをバックアップ
ssh ユーザ名@IP "dd if=/dev/コピー元デバイスファイル | gzip -1 -" | dd of=/path/to/backup.gz
ディスクデータを消去
dd if=/dev/zero of=/dev/データ削除したいデバイスファイル
ディスクデータを消去(乱数データで上書き)
dd if=/dev/urandom of=/dev/データ削除したいディスクファイル
ddによるデータ転送速度を表示
dd if=/dev/urandom | pv | dd of=/dev/データを削除したいデバイスファイル
記事では、ddコマンドが実際にどの程度の速度でデータを転送しているのか調べる方法として、ddコマンドの間にpvコマンドを挟む方法を紹介している。この方法はパイプラインに挟むため転送速度が変わる可能性がある。
macOSやFreeBSDなどを使っている場合、pvコマンドを使用しなくともddコマンド実行中にCtrl-Tを押すことで、転送状態や転送速度を表示させることができる。