web-dev-qa-db-ja.com

ddコマンドは正確に何をしますか?

数日前、明示的に設計されたサードパーティのプログラムを使用せずにISOイメージをUSBに書き込むことはそれほど難しくないことを知り、嬉しく思いました。しかし、これを容易にするコマンド(またはプログラム)-dd--は私を困惑させます。

ウィキペディアによると、生データをコピーして変換するように設計されていますが、正直なところ、この定義は非常に曖昧で曖昧だと思います。あるデータを別のデータに変換できることは理解していますが、指定された出力ファイルが小さすぎて指定された入力ファイルに変換できない場合はどうなりますか?

dd if=giant_file of=tiny_file

また、イメージファイルを使用して起動可能なUSBを作成すると、USBのファイルシステムタイプはisofsになりますが、アーカイブまたは実行可能ファイルをドライブに書き込むと、通常のファイルシステムタイプが保持されます。

Ddコマンドが実際に何をするのか、またはそれがより低いレベルでどのように機能するのかを明確にしていただければ幸いです。ありがとう!

8
ICoffeeConsumer

ddは、ソースから宛先へのバイトごとのコピーを実行します。オプションで、conv引数で変換を指定します。 *bsおよび*flagオプションで指定されたとおりに読み取りと書き込みを実行し、範囲はcountskip、およびseekオプションで定義されます。 。

指定された出力ファイルが小さすぎて指定された入力ファイルに変換できない場合はどうなりますか?

ofが小さすぎてifを含めることができない場合、データは切り捨てられて収まりません。 ofが通常のファイルの場合、上書きされることに注意してください。

私はこれらのリンクに何があるかを要約しようとさえしませんが、あなたはそれらが役に立つと思うかもしれません(またはtoo-much-info)...彼ら両方とも nix&Linux (stackexchange)

5
Peter.O