apatheia.info

プログレスバーを簡単に表示できるコマンド pv

2011.12.16 unix pv

プログレスバーを簡単に表示できる pv について説明する。

インストール方法

自分の環境(debian 6.0.3)だと aptでインストール出来る。RHEL系ならここかな。

使い方

端的に言うと、「cat + 標準エラー出力にプログレスバー」という動きを取る。

f440@abhoth[10]:~$ yes | pv >/dev/null
 529MB 0:00:08 [67.2MB/s] [       <=>                                         ]

8秒で合計529MB、秒間67.2MBくらいで「y」の文字が pv を通り抜けてるのがわかる。 -lオプションをつけると行モードになり、転送量ではなく転送行数を調べられる。

f440@abhoth[10]:~$ yes | pv -l >/dev/null
 435k 0:00:10 [45.9k/s] [          <=>                                        ]

10秒で435行、秒間45900行くらいが通り抜けてるのがわかる。

他にもおもしろいオプションとして -L っていうのがあって、パイプから出てく流量を制限することが出来る。

用途

mysqldump とか mysqlにくっつけてダンプ、リストアの完了時刻を予想する、とかかな。

Webで見てると、nc とか tcpdump とかと組み合わせてる例がある。

自分で作ったコマンドとかに、簡単に進行状況表示がくっつけられるのは便利。