ホーム > パッケージ・システム管理 > dd

dd: データコピーと変換 (ディスク複製/USB作成)

ファイルをブロック単位でコピーまたは変換する強力なツールです。起動USBの作成、ディスクのバックアップ(イメージダンプ)、ファイルの生成などに使用されますが、出力先を誤って指定すると全てのデータが失われる可能性があるため、「Disk Destroyer」というニックネームがあります。

ddとは何か?

ddは「Data Description」または「Disk Dump」の略として知られています。一般的なコピー(`cp`)とは異なり、ハードウェアデバイス(ディスク、USB)を直接操作したり、元のデータをビット単位でそのまま複製する際に使用します。

主要な構文構造

オプションの前にハイフン(-)を付けず、`キー=値`の形式で使用します。

  • if (Input File): 入力元です。(元のファイル、ISOイメージ、読み込むディスクデバイスなど)
  • of (Output File): 出力先です。(コピー先の場所、USBデバイス、バックアップファイルなど)**最も注意すべきオプションです。**
  • bs (Block Size): 一度に読み書きするデータサイズです。(例:4M、1G)。速度に影響します。

⚠️ 警告: 使用前の確認必須

`of=`(出力先)に誤ってシステムハードディスクを指定すると、オペレーティングシステムとデータが一瞬で消去されます。`lsblk`コマンドでデバイスパス(例:`/dev/sdb`)を必ず確認してください。

主要オプション (Shell)

ddはオプションの順序が重要ではありませんが、通常は`if` > `of` > `bs` > `status`の順で記述します。

1. 入出力の指定 (必須)

2. サイズと速度の制御

3. データ変換と制御

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`dd` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用シナリオの例

実務でよく使われるddコマンドのパターンです。

起動USBの作成

sudo dd if=ubuntu-22.04.iso of=/dev/sdb bs=4M status=progress

ISOファイルをUSBデバイス(`/dev/sdb`と仮定)に書き込みます。`bs=4M`は速度向上を目的としています。

ディスク全体のバックアップ(イメージ生成)

sudo dd if=/dev/sda of=~/backup.img bs=64K status=progress

`/dev/sda`ディスク全体を`backup.img`ファイルとして作成します。

ディスクの完全消去 (Wiping)

sudo dd if=/dev/urandom of=/dev/sdX bs=1M status=progress

ディスク(`/dev/sdX`)をランダムなデータで上書きし、復元不可能にします。

特定の容量の空ファイル作成

dd if=/dev/zero of=testfile_1GB bs=1G count=1

テスト用に1GBの空ファイル(0で埋められた)を生成します。

ヒント & 注意事項

便利なヒント

  • sudo 権限: ハードウェアデバイス(/dev/...)を操作する際は、必ず`sudo`が必要です。
  • /dev/zero と /dev/urandom: `if=/dev/zero`は無限に0を出力し、`if=/dev/urandom`は無限にランダムデータを出力する特殊ファイルです。
  • USBデバイスの検索: USBを接続する前後で`lsblk`コマンドを入力し、新しく現れたデバイス名(例:sdb, sdc)を正確に把握する必要があります。

関連するコマンド

機能的に類似しているか、よく一緒に使われるコマンドです。



同じカテゴリのコマンド