「DDコマンド」というコマンドをひょんなことで知りました。
地下アイドル界隈に足を突っ込んでしまってから、悲しいことに”DD”という単語に特殊な意味を抱いてしまうようになったため、あまり馴染みはないのですが、まとめたいと思います。
DDは至高です。(諸説あり)
DDコマンドとは
dd はファイルの変換とコピーを主な目的とする コアユーティリティ です。
cp と同様にデフォルトでは dd はファイルのビットごとのコピーを作成しますが、低レベルの I/O フロー制御機能を備えています。
『dd』 --by archLinux
ddコマンドは標準入力→標準出力へデータを転送するシンプルなコマンドです。
そして、下記「Arch Wiki」というサイトの引用の通り、誤って出力先を間違えると、問答無用でデータが吹き飛ぶという“失敗=即消滅”という気軽さのない属性をもつコマンドのようでした。
警告: この種のコマンドはどれも、データを不可逆的に破壊する可能性があるため、dd の使用には細心の注意を払う必要があります。
『dd』 --by archLinux
また、下記の記事で、「「Linux」で実行してはいけない危険なコマンド5選」に選出されています。
手から脂汗が出てきました。
UNIX系コマンドあるあるですが、文字列が、高価で大事な者共を簡単に無慈悲にも破壊できる威力を持つ...、ある種の言霊を感じさせられます。
-
ddコマンドでハードディスクをお釈迦にしてしまった悲痛の叫びが掲載されているページがありました↓
"Disaster! I used 'dd' on the wrong drive! :(" --by ArchLinux -
PCを処分するときに↓
『ディスクのデ-タを消去する』
「失敗」から学ぶことは沢山あるけれど、避けるべき失敗を避けないと学びよりも「痛み」が強くなってしまうことの悲しさを感じる日々です。(´・ω・`)
失敗も勉強。失敗しないために勉強するのも勉強。。。(´・ω・`)
そしてDDコマンドについてやさしい言葉で解説してあるサイトがありました。ありがたや↓
ddコマンドは、標準入力から標準出力へコピーするコマンドです。
入力や出力を指定することができ、ファイルからファイル、デバイスからファイル、デバイスからデバイスにコピーするなどの操作が可能です。
入力から出力へのコピー~ddコマンド~
語義
"Daredemo Daisuki"ではないのは明らかとして、"DD"は何の略なのでしょうか。
驚くべきことにコレと行った「正解」は名言されていませんでした。
教科書的には「Dataset Definition説」が主流のようですが、調べると比較的多数の語源が出てきました。
| 分類 | 語源の由来説 | リンク・元ネタ |
|---|---|---|
| ① IBM JCL起源/有力候補? | Dataset Definition / Data Definition | - "Linux - dd Utility (Dataset definition)" --by DataCadamia - 『11.2 dd: ファイルの変換とコピー』 --by JM Project - JCL DD Statement |
| ② 後付け解釈? | Disk Duplicate / Data Duplicator | - 『Linux ファイルの変換とコピー』 --by labex - "12 Linux dd, ddrescue and dcfldd command examples" --by Linux.com |
| ③ 揶揄? | data destruction / disk destroyer / delete data… | - "What does 'dd' stand for?" --by StackExchange - AskUbuntuスレッド |
| ④ 誤解として明確に否定 | Convert and Copy | - "The meaning of dd" --by THE UNIX ACRONYM LIST - 『コマンド名再考 - 意外と知らない語源集』 -- by 職業としてのプログラミング |
使いどころ
使い所としては、インフラ系、組み込み系、ドライブ等「デバイスを触りたい時」。
ddの主なユーザー
- システム管理者:ドライブの複製やシステム バックアップの作成などのタスクに使用します。
- データ復旧スペシャリスト:故障したストレージ デバイスからデータを復旧します。
- 法医学アナリスト:証拠保存のためにドライブのビット単位のコピーを作成します。
- Linux パワー ユーザー:起動可能な USB ドライブの作成やストレージのベンチマークなどのさまざまなタスクに使用します。
- 組み込みシステム開発者:オペレーティング システム イメージをストレージ デバイスに直接書き込みます。
"dd: How this Obscure Linux Command Can Save (or Destroy) Your Data" --by Moraneus/Medium
おまけ:「DD工程」
わわわ大先生の辞書に「DD工程」という記載もあったため、おまけとして記載したいと思います。
DD工程とは~DetailDesign~
DD工程(読:ディーディーコウテイ)とは
「詳細設計」のこと。
『DD工程』 --by 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
おわりに
ddコマンドとはかなーり低レイヤーで、ストレージを破壊できる威力を持っているため、特級呪物の切り札のようだと感じました。
ゴーストをDDできるのか?
攻殻機動隊(リマスター版)を見おわって、「脳はデータ化できるのか?」という疑問が呈されました。
DDコマンドを使用することで将来的に人間の脳をDDできるのではないか?という結論に至ったのですが、精神や人間の記憶領域・身体構造等が全てデータ化・数値化されたとしたならば、、、それは可能なのかも知れない。。と思いました。
参考
ダメだ。。自分にはIBM様のドキュメントを初見で頭に入れられません。
Oracle様の文献
やっぱりddコマンドは『マルっと』なイメージなんですね
