pvは小さくても非常に便利なユーティリティです

友人の一人がpvについて、「私は7年間管理者です。このツールが何十回も必要でしたが、存在することすら知りませんでした。」 Harbで招待状を取得する方法を考えて、pvの検索を入力しました。 そして何も見つかりませんでした。





したがって、pvはpipeviewerの略です。つまり、pipe viewerと同じです。 パイプの使用の有効性についてはお話ししません。誰にも秘密ではありません。 それらを使用する場合の唯一の「しかし」ことは、コマンドを入力してEnterキーを押すだけでは十分でない場合が多いことです。実行にかかる時間を知るには。 pvが示すのは、データ処理の速度です。



歌詞は終わったので、例に移りましょう。



Debianにpvをインストールするのはとても簡単です。

% sudo aptitude install pv







さらに紹介すると、あなたは私がいくつかの有用なログの幸運な所有者であり、ある時点でそれらをアーカイブすることに手がついたのと同じだとしましょう

% cat rt94-171-06 | gzip > rt94-171-06.gz





この操作にどれくらい時間がかかるか考えていますか?



PVでも同じこと

%pv rt94-171-06 | gzip > rt94-171-06.gz

128MB 0:00:15 [ 9.1MB/s] [=====>.....................] 18% ETA 0:01:07






15秒で128 MBがパイプを通過したことがはっきりとわかります。これは総量の18%で、操作にはさらに1分7秒かかります。



pvはcatに取って代わるもののように思えるかもしれませんが、実際にはその機能ははるかに広くなっています。 たとえば、カタログ全体を圧縮アーカイブにパックします

%tar -czf - . | pv > out.tgz

21.9MB 0:00:15 [1.47MB/s] [...<=>.....................]






すでに悪くはないが、完了の時間をもっと見せたい。 これを行うには、-sスイッチを使用してpvにバイト単位のディレクトリサイズを渡します。

%tar -czf - . | pv -s $(du -sb | grep -o '[0-9]*') > out.tgz

44.3MB 0:00:27 [1.73MB/s] [>..........................] 0% ETA 13:36:22






私の手術全体には13時間半かかります。 へー、累積=)



pvの複数のコピーからコマンドを作成することもできます。

%tar -cf - . | pv -cN tar -s $(du -sb | grep -o '[0-9]*') | gzip | pv -cN gzip > out.tgz

tar: 97.1MB 0:00:08 [12.3MB/s] [>......................] 0% ETA 1:50:26

gzip: 13.1MB 0:00:08 [1.6MB/s] [....<=>................]






-cスイッチは、pvのいくつかのコピーが互いの上に情報を表示しないようにするために必要です。 -Nスイッチはスケール名を与えます。



最後に、Linuxに関する1つの英語のブログの面白い例

%pv /dev/urandom > /dev/null

18MB 0:00:05 [ 3,6MB/s] [...<=>............................]







All Articles