command on Unix and Unix-like operating systems
Wikidata facts
- Part of
- GNU Core Utilities
- Has use
- data erasure
Show 2 more facts
- described at URL
- pubs.opengroup.org/onlinepubs/9699919799/utilities/dd.html
- different from
- GNU ddrescue
Sources (3)
via Wikidata · CC0
Article · 日本語
ddはUnix系のシステムにあるプログラム(コマンド)で、データのコピーや変換をブロックデバイスを直接読み書きして行うことが特徴である。dataset definitionの略であるが、IBMのメインフレームのJob Control Language(ジョブ制御言語、JCL)の「DD文」(DD statement)に由来するため、引数の構文が、Unixの一般的なコマンドの引数のそれとは激しく異なっている(datasetというのはメインフレーム用語)。 ddの主な機能は指定されたバイト数もしくはブロック数のデータのコピーであり、この機能は、ハードディスク(全体もしくはパーティション単位、またはブートセクター等)のバックアップや、/dev/zeroや/dev/randomを用いて指定された領域を完全消去するために利用される。同様にディスクの(可能な限り)全状態をそのままクローンしたい、コンピュータ・フォレンジックスなどの場合にも使われる。 ddコマンドが行うようなディスクの直接の読み書きには、通常は管理者権限が必要であり、従って危険なコマンドであっても簡単に実行できてしまう状態で作業していることが多い。そしてddは、例えば、入力と出力の指定をうっかり逆にしただけで(具体的には "of" と "if" の、QWERTYキーボードでは隣の1文字の違いである)、大事なデータをバックアップする代わりに、まっさらなディスクの内容をそれに上書きして消してしまう、という恐ろしいことを起こし得る。そのためしばしばベテランは、data destroyer(あるいはdisk destroyer、destroyer=破壊者)の略である、などという。なお、copy commandあるいはcopy and convertの略でccにしようとしたが、C言語コンパイラ(ないしコンパイラドライバ)のccがあったのでひとつずらしてddにした、という説が流布していたが、これは誤りであることがUNIXの開発者であるデニス・リッチー氏による投稿で確定している。
Abstract from DBpedia / Wikipedia · CC BY-SA