Pv: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
(Новая: =Полезная утилита pv== Утилита для оценки данных пропущенных через пайп Примеры: <BR> Распаковка архива: ...)
 
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
  +
[[Категория:Linux]]
=Полезная утилита pv==
 
  +
[[Категория:Notes]]
 
=Полезная утилита pv=
   
 
Утилита для оценки данных пропущенных через пайп
 
Утилита для оценки данных пропущенных через пайп
Строка 6: Строка 8:
 
<PRE>
 
<PRE>
 
pv gentoo.img.gz | gunzip > gentoo.img
 
pv gentoo.img.gz | gunzip > gentoo.img
5.26GB 0:12:36 [4.68MB/s] [===============================================================================================================> ] 99% ETA 0:00:00
+
5.26GB 0:12:36 [4.68MB/s] [=====================================================================> ] 99% ETA 0:00:00
 
</PRE>
 
</PRE>
  +
  +
Может показаться, что pv это такая замена для cat, но на самом деле ее возможности намного шире. Например, упаковываем весь каталог в сжатый архив
  +
<PRE>
  +
%tar -czf - . | pv > out.tgz
  +
21.9MB 0:00:15 [1.47MB/s] [...<=>.....................]
  +
</PRE>
  +
Уже неплохо, но хочеться большего, чтобы показывалось время окончания работы. Для этого всего лишь надо при помощи ключа -s передать pv размер каталога в байтах
  +
<PRE>
  +
%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
  +
</PRE>
  +
  +
Можно так же составлять команды из несколько копий pv.
  +
<PRE>
  +
%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] [....<=>................]
  +
</PRE>
  +
Ключ -c нужен, чтобы несколько копий pv не выводили информацию друг поверх друга. Ключ -N дает имя шкале.
  +
  +
Ну и под конец забавный пример с одного англоязычного блога о Линуксе
  +
<PRE>
  +
%pv /dev/urandom > /dev/null
  +
18MB 0:00:05 [ 3,6MB/s] [...<=>............................]
  +
</PRE>
  +
Взято на Хабре, но ссылку на оригинальный пост я посеял. Очень надеюсь что не обидел автора.

Текущая версия на 15:46, 28 сентября 2012

Полезная утилита pv

Утилита для оценки данных пропущенных через пайп Примеры:
Распаковка архива:

pv gentoo.img.gz | gunzip > gentoo.img
5.26GB 0:12:36 [4.68MB/s] [=====================================================================>  ] 99% ETA 0:00:00

Может показаться, что 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

Можно так же составлять команды из несколько копий 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 дает имя шкале.

Ну и под конец забавный пример с одного англоязычного блога о Линуксе

%pv /dev/urandom > /dev/null
18MB 0:00:05 [ 3,6MB/s] [...<=>............................]

Взято на Хабре, но ссылку на оригинальный пост я посеял. Очень надеюсь что не обидел автора.