web-dev-qa-db-ja.com

コピープロセス中にdd(OS X)のステータスを出力する方法はありますか?

私はddを使用してISOイメージをサムドライブにコピーしています。コピー処理中にddのステータスを出力する方法はありますか?

9
lookyhooky

OS Xを使用している場合は、CTRL-Tを押すと、進捗状況が更新されます。

23
zymhan

* nixユーザーが一般的に利用できるコマンドラインテクニックを使用できます。たくさんの例があります:

  1. buntuに聞く
  2. http://pfynotes.blogspot.com/2011/05/monitoring-progress-of-dd-on-osx.html
  3. コマンドラインf

それらは基本的に2つのカテゴリの1つにまとめられます:キル信号(CTRL-Tなど)を送信するか、pvなどのビューアを介して出力をパイプします。 MacPortsまたはHomeBrewを既に使用している場合にのみ、pvをお勧めします。最も単純な例:

dd if=file.iso | pv | dd of=/dev/sda3

転送するファイルが複数あり、%completeとETAも必要な場合は、監視しているストリームのサイズをpvに指定する必要があります。ディレクトリツリーのサイズは次のように指定できます

 `SIZE=$(du -sb . | awk '{print $1}')` 

またはファイルシステム全体を

 `SIZE=$(df -B1 /dev/sda1 | tail -n1 | tr -s ' ' | cut -d' ' -f2)`  

次に、サイズをpvに次のように渡します。

dd if=file.iso | pv -s $SIZE | dd of=/dev/sda3
3
DaveParillo