Відмінності між версіями «Pv»
(Created page with ''''Установка pv довольно тривиальна.''' #yum install pv ''' Дальше вводная, допустим вы такой же как и я счаст…') |
|||
| Рядок 6: | Рядок 6: | ||
Есть мысли, сколько времени займет эта операция? | Есть мысли, сколько времени займет эта операция? | ||
| − | '''Тоже самое при помощи pv | + | '''Тоже самое при помощи pv''' |
| − | ''' $pv rt94-171-06 | gzip > rt94-171-06.gz | + | $ pv rt94-171-06 | gzip > rt94-171-06.gz |
128MB 0:00:15 [ 9.1MB/s] [=====>.....................] 18% ETA 0:01:07 | 128MB 0:00:15 [ 9.1MB/s] [=====>.....................] 18% ETA 0:01:07 | ||
Наглядно видно, что через пайп за 15 секунд прошло 128Мб — это 18% от всего объема, операция займет еще минуту и 7 секунд. | Наглядно видно, что через пайп за 15 секунд прошло 128Мб — это 18% от всего объема, операция займет еще минуту и 7 секунд. | ||
| Рядок 14: | Рядок 14: | ||
'''Например, упаковываем весь каталог в сжатый архив''' | '''Например, упаковываем весь каталог в сжатый архив''' | ||
| − | $tar -czf - . | pv > out.tgz | + | $ tar -czf - . | pv > out.tgz |
21.9MB 0:00:15 [1.47MB/s] [...<=>.....................] | 21.9MB 0:00:15 [1.47MB/s] [...<=>.....................] | ||
| − | '''Уже неплохо, но хочеться большего, чтобы показывалось время окончания работы. Для этого всего лишь надо при помощи ключа -s передать pv размер каталога в байтах | + | '''Уже неплохо, но хочеться большего, чтобы показывалось время окончания работы. Для этого всего лишь надо при помощи ключа -s передать pv размер каталога в байтах''' |
| − | ''' $tar -czf - . | pv -s $(du -sb | grep -o '[0-9]*') > out.tgz | + | $ 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 | 44.3MB 0:00:27 [1.73MB/s] [>..........................] 0% ETA 13:36:22 | ||
У меня вся операция займет 13 с половиной часов. Хех, накопил =) | У меня вся операция займет 13 с половиной часов. Хех, накопил =) | ||
Поточна версія на 10:49, 15 липня 2010
Установка pv довольно тривиальна.
#yum 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Мб — это 18% от всего объема, операция займет еще минуту и 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 дает имя шкале.
Ну и под конец забавный пример с одного англоязычного блога о Линуксе
$pv /dev/urandom > /dev/null 18MB 0:00:05 [ 3,6MB/s] [...<=>............................]