ddコマンド
はじめに こんにちは!今回はddコマンドについて解説します。 ddは、ファイルやディスク全体をブロック単位でコピー・変換するコマンドです。ディスクイメージのバックアップ、USB起動メディアの作成、ディスク丸ごとのクローンなど、低レベルのデータ操作をする時に使うんですね。 「火力の強い、融通が利くコピーツール」ってイメージです。パワフルですけど、使い方を間違えるとデータ破損のリスクがあるので注意が必要です。 ddコマンドとは ddは、“convert and copy"の略で、ファイルやディスクのデータをブロック単位でコピー・変換する外部コマンドです。 通常のcpコマンドではファイルレベルでしか操作できませんが、ddは低レベルでのディスク操作ができます。ディスク全体のバックアップ、パーティション操作、USB起動メディア作成、ディスククローンなど、システム管理者がよく使う重要なコマンドなんです。 ddの特徴は、細かいオプションでデータ変換(大文字・小文字変換など)ができることと、ブロックサイズを指定してコピーできることです。ただし、パワフルだからこそ、誤った使い方はデータ破損につながるので、慎重に使う必要があります。 基本構文 1 dd [オプション] ddのオプションは、if=(入力ファイル)とof=(出力ファイル)で指定します。 1 dd if=入力ファイル of=出力ファイル bs=ブロックサイズ count=コピーするブロック数 他のコマンドと違う独特の構文なので、最初は戸惑うかもしれませんね。 主なオプション オプション 説明 if= 入力ファイル(input file) of= 出力ファイル(output file) bs= ブロックサイズ(block size) count= コピーするブロック数 skip= 入力ファイルの最初からスキップするブロック数 seek= 出力ファイルの最初からシークするブロック数 conv= データ変換(notrunc, noerror など) status= 進捗表示(progress, none など) ibs= 入力ブロックサイズ obs= 出力ブロックサイズ 使用例 例1: ファイルをコピー 1 dd if=source.img of=destination.img 実行結果: 1 2 3 1024+0 records in 1024+0 records out 524288 bytes (524 kB, 512 KiB) copied, 0.5 s, 1.0 MB/s source.imgをdestination.imgにコピー。出力にはコピーしたブロック数とデータ転送速度が表示されます。 ...