dd ~ファイルを変換してコピーする~【Linuxコマンド集】

dd ~ファイルを変換してコピーする~【Linuxコマンド集】

ddコマンドとは?

dd はファイルを指定された入出力ブロックサイズで (デフォルトでは標準入力から標準出力へ) コピーする。 入出力の間に変換を指定することもできる。
またハードディスクやCD-ROMなどのデバイスの内容などをそのまま取り扱えます。
cpコマンドとは違い、cpコマンドはファイルをコピーするだけですがddコマンドならデバイスの内容をファイルにコピーしたり、デバイスからデバイスへコピーしたりすることができます。

$ dd [オプション]

ddコマンドの主なオプション

オプション説明
if=入力ファイル入力側ファイルを指定する(デフォルトは標準出力)
of=出力ファイル出力ファイルを指定する(デフォルトは標準出力)
bs=バイト数入出力のブロックサイズを指定する
count=回数回数分の入出ブロックをコピーする

ddコマンド使用方法例

次のコマンドを実行すると/dev/sdbに接続されたディスクの内容をそのまま/dev/sdcに出力します。その結果、パーティション情報やファイルシステムごとディスクをコピーすることができます。

$ dd if=/dev/sda of=dev/sdc

WSLでddコマンドは使用できるか?

結論から言えば使用できません。
WSLはブロックデバイスファイルへのアクセスをサポートしていないようです。WSL2ではサポートしているかも。。。

最後に

ddコマンドはディスクデータのコピーやバックアップ、イメージファイルの書き込み、ディスクデータの破棄などさまざまな用途で使われるコマンドになります。便利な反面、使い方を間違えると、簡単にデータが壊れてしまうため注意が必要になります。