ddコマンド
目次
データのコピーや変換「dd」コマンド
dd
コマンドは、LinuxおよびUnix系オペレーティングシステムで利用される強力なデータ転送ツールです。このコマンドは、データをコピーおよび変換するために使用され、ディスクイメージの作成、バックアップ、データの復元など、さまざまな用途で役立ちます。dd
コマンドの概要と基本的な使い方について解説します。
dd
コマンドの概要
dd
コマンドは、ブロックデバイスやファイル間でデータをコピーおよび変換するためのツールです。dd
は、データを読み込み、指定された形式で出力します。このコマンドは、特定のバイト数やブロック数を操作する際に非常に有用です。
基本構文
dd if=<入力ファイル> of=<出力ファイル> [オプション]
if
: 入力ファイル(input file)of
: 出力ファイル(output file)
dd
コマンドの基本的な使い方
1. ディスク全体のバックアップを作成する
ディスク全体を別のディスクにコピーする場合に使用します。例えば、/dev/sda
の内容を/dev/sdb
にコピーする場合:
dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync
bs=64K
: ブロックサイズを64KBに設定conv=noerror
: 読み取りエラーが発生しても処理を続行conv=sync
: 入力ブロックが完全でない場合は、出力ブロックを補完
2. ディスクイメージファイルの作成
ディスクの内容をイメージファイルに保存します。例えば、/dev/sda
の内容をイメージファイルdisk_image.img
に保存する場合:
# dd if=/dev/sda of=disk_image.img bs=64K
3. ディスクイメージファイルをディスクに復元
作成したディスクイメージファイルを元のディスクに復元します。例えば、disk_image.img
の内容を/dev/sda
に復元する場合:
# dd if=disk_image.img of=/dev/sda bs=64K
4. ファイルのコピーと変換
テキストファイルの文字コードを変換しながらコピーする場合に使用します。例えば、input.txt
を大文字に変換してoutput.txt
に保存する場合:
# dd if=input.txt of=output.txt conv=ucase
dd if=input.txt of=output.txt conv=ucase
特定サイズのランダムデータを生成する場合に使用します。例えば、1GBのランダムデータファイルrandom_data.bin
を作成する場合:
# dd if=/dev/urandom of=random_data.bin bs=1M count=1024
if=/dev/urandom
: ランダムデータを入力として使用bs=1M
: ブロックサイズを1MBに設定count=1024
: 1024ブロック(1GB)を作成
まとめ
dd
コマンドは、データのコピーや変換、ディスクのバックアップや復元など、多用途に使用できる強力なツールです。基本的な使い方を理解することで、システム管理やデータ処理が効率的に行えるようになります。dd
コマンドの使用時には、誤った指定がデータの損失を招く可能性があるため、慎重に操作することが重要です。正確なコマンド構文とオプションの理解に努め、必要に応じてman dd
で詳細なドキュメントを参照してください。