No.110ストレージ

dd

ディーディー・低水準データ複写

知識レベル 実践破壊的sudo が要る

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

答えよく使う形

  1. 安全な試行として通常ファイルへゼロ埋めファイルを作れます
  2. 読み取り元を指定します
  3. 書き込み先を指定します

危ない特にof指定の誤りは既存データの即時破壊につながります。

visitor@goodly: ~

$ dd if=/dev/zero of=test.img bs=1M count=10 status=progress

10MiBのファイルが作成される

$ 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

覚える順番の中でLPIC-1・78 駅め / 106

どんなコマンド?

こんなときに

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

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

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

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

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ dd

使用例と実行結果

行を押すとコピーできます。

10MiBのファイルが作成される
安全な試行として通常ファイルへゼロ埋めファイルを作れます。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 1

つまずいたとき

ディスクを壊してしまった

原因of指定を誤りました。

こうする実デバイスへ書く前にlsblkで対象を確認し、可能なら読み取り専用やテスト環境で試します。

処理が止まって見える

原因進捗表示なしの長時間処理です。

こうするstatus=progressを付けるか、I/O状況を別手段で確認します。

終わったときの数(戻り値)

$ echo $?

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

気をつけることと入れ方

危ないところ

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

環境による違い

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

確かめた環境2026-04-09 に確認

よくある質問

cpでは駄目ですか。

通常ファイル同士ならcpで十分ですが、低水準の生データ複写やイメージ操作ではddが必要な場面があります。

一番危険なのは何ですか。

ofに誤ったデバイスを指定することです。

資格試験では

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

dd を最後まで読みました。

Linux コマンド辞典に戻る18 / 144

Goodly のメニュー