dd ディーディー

英語表記dd

日本語表記低水準データ複写

正式名称dd

危険度破壊的

What does it mean?

低水準でデータを複写、変換します。ディスクイメージ作成や復旧で強力ですが、誤用時の破壊力も大きいコマンドです。

Command Quest

dd を今日の道具にする

低水準でデータを複写、変換します。ディスクイメージ作成や復旧...

$ dd if=入力元 of=出力先 [オプション]...
関連用語9
次のコマンド0
FAQ2
参照3

概要

低水準でデータを複写、変換します。ディスクイメージ作成や復旧で強力ですが、誤用時の破壊力も大きいコマンドです。

基本構文

dd if=入力元 of=出力先 [オプション]...

詳細解説

ddは、入力元から出力先へブロック単位でデータを読み書きするコマンドです。ファイル同士の複写だけでなく、デバイス、イメージファイル、ゼロ埋め、ブート領域の退避など、低水準の操作に使われます。

実務では、ディスクイメージ取得、USBメディア作成、バックアップ、検証用の大きなファイル作成で役立ちます。一方で、出力先を誤ると既存データを上書きしてしまうため、Linuxコマンドの中でも特に慎重さが必要です。

実行前には if と of の向き、対象デバイス名、bs、count の意味を必ず確認します。status=progress で進捗表示を出すと、長時間処理でも状況を把握しやすくなります。

このコマンドを使う場面

ディスクイメージ作成、USBメディア書き込み、ゼロ埋め、低水準バックアップ、性能検証用ファイル作成に使います。

まず安全に試す方法

1. dd if=/dev/zero of=test.img bs=1M count=10 status=progress
2. ls -lh test.img

3分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. /dev/zeroから通常ファイルへ書き出し、bsとcountの意味を理解します。

資格試験との関連

  • LinuC レベル1
    範囲: 1.02.2 基本的なファイル管理の実行
    根拠: official
    LinuCレベル1では、ddの基本理解が重要です。
  • LinuC レベル2
    範囲: 2.02 ストレージ管理
    根拠: official
    LinuCレベル2でも、低水準複写や障害対応でdd理解が役立ちます。
  • LPIC-1
    範囲: 103.3 基本的なファイル管理の実行
    根拠: official
    LPIC-1では、ddは基本ファイル管理の一部として扱われます。
  • LPIC-2
    範囲: ストレージ管理
    根拠: editorial
    LPIC-2相当の運用でも、ddは復旧や移行で重要です。

オプション

  • if 入力元
    読み取り元を指定します。
    dd if=/dev/zero of=test.img ...
  • of 出力先
    書き込み先を指定します。
    dd if=image.iso of=/dev/sdb ...
  • bs サイズ
    ブロックサイズを指定します。
    dd ... bs=4M
  • count 回数
    読み書き回数を制限します。
    dd ... count=100
  • status=progress
    進捗表示を出します。
    dd ... status=progress
  • conv=fsync
    書き込み完了を待ってから終了します。
    dd ... conv=fsync

実行結果サンプル

  • dd if=/dev/zero of=test.img bs=1M count=10 status=progress
    10MiBのファイルが作成される

戻り値コード

  • 0 正常終了。処理に成功しました。
  • >0 対象不存在、権限不足、不正な引数などで処理できませんでした。

使用例

  • dd if=/dev/zero of=test.img bs=1M count=100 status=progress
  • sudo dd if=image.iso of=/dev/sdb bs=4M status=progress conv=fsync

よくあるエラー

  • ディスクを壊してしまった
    原因: of指定を誤りました。
    対処: 実デバイスへ書く前にlsblkで対象を確認し、可能なら読み取り専用やテスト環境で試します。
  • 処理が止まって見える
    原因: 進捗表示なしの長時間処理です。
    対処: status=progressを付けるか、I/O状況を別手段で確認します。

導入・互換性情報

POSIX系で広く使えますが、status=progressなどはGNU系で便利な拡張です。低水準複写ゆえに環境差よりも対象指定ミスのほうが大事故要因になりやすいです。

注意点 / セキュリティリスク

危険度は非常に高いです。特にof指定の誤りは既存データの即時破壊につながります。実行前に対象を三回確認するくらいが適切です。

FAQ

  • Q. cpでは駄目ですか。
    A. 通常ファイル同士ならcpで十分ですが、低水準の生データ複写やイメージ操作ではddが必要な場面があります。
  • Q. 一番危険なのは何ですか。
    A. ofに誤ったデバイスを指定することです。

関連用語

  • block
  • sparse file
  • backup
  • restore
  • ISO image
  • clone
  • filesystem image
  • image
  • disaster recovery

参照リンク

関連記事