
たとえば、次のようなことができますか:
cat /dev/sda1 > /dev/sda2
dd を使用する代わりに、そうでない場合、なぜこれが機能しないのでしょうか?
答え1
原則的には、どちらでも使用できます。重要な違いはいくつかありますが、ここではどれも当てはまりません。
リダイレクトを使用すると
>
、ターゲット ファイルが開かれ、切り詰められます。その後にのみ書き込みが行われます。ただし、これはブロック デバイスには適用されません。ブロック デバイスはサイズが固定されているため、「切り詰め」を行っても何も起こりません。cat
簡単に最初のコピーだけを指示することはできませんんバイトまたはスキップ/シーク。これはdd
役に立つ。cat
ブロック サイズを指定することはできません。ブロック サイズが使用されているファイル システムによってマスクされている場合、これは現在では問題になりませんが、特定のブロック サイズ (テープ) でデバイスが読み取られる場所では違いがありました。ハードディスクの場合、
cat
少し速くなるかもしれない(適切に選択されたブロック サイズを使用する場合よりも優れていますがdd
、速度が低下するデフォルトよりも優れています)。