ddとpvを組み合わせたときの構文

ddとpvを組み合わせたときの構文

存在する:

sudo dd if=/dev/sda bs=64k | pv --size 1.5t | dd of=/dev/sdb

ddのブロックサイズは入力後左側にあります(図参照)、または出力後右側にありますか?

Pipe Viewer Sizeオプションを使用するときに値の前に等号がないことは正しいですか?上記のように10進値を使用できますか?

ベストアンサー1

レビューにより、多くの問題に役立ちます。

sudo dd if=/dev/sda bs=64k | pv --size 1.5t | dd of=/dev/sdb

まず、ブロックサイズを(劇的に)大きくし、それに応じてスループットを増やすことができます。私はしばしば使用しますbs=32M。パラメータの順序はdd重要ではありません。

sudo dd if=/dev/sda bs=1M

--size次に、等号を使用または使用せずに指定することは重要ではありません。長い引数(二重ダッシュで始まる引数)は通常難しいことではありません。しかし、すぐに試してみると、pv引数が整数でなければならないことがわかります。だから:

pv --size 1500g

最後に、大きな(出力)バッファを指定することをお勧めし、ddroot権限で実行する必要があるかもしれません。私たちは大きなバッファを使用しているので、それを書く前に完全に満たされていることを確認する必要があります。だからあなたは次のように終わります:

sudo dd of=/dev/sdb bs=1M iflag=fullblock

一緒に撮った、

sudo dd if=/dev/sda bs=1M | pv --size 1500g | sudo dd of=/dev/sdb bs=1M iflag=fullblock

ddただし、Linuxベースのシステムでは、ディスクドライブからコピーしたりディスクドライブにコピーしたりするためにこれが必要ないことを指摘したいと思います。これに基づいて、コマンドチェーン全体を次のように単純化できます。

sudo sh -c 'pv --skip-errors --size 1500g </dev/sda >/dev/sdb'

おすすめ記事