pv — маленькая, но полезная тулза

И так pv — это сокращенно от pipeviewer, то есть ни много не мало как просмотрщик пайпов. Про эффективность использования пайпов расказывать не буду, ни для кого это не секрет. Единственное, «но» в работе с ними — это то, что набрав команду и нажав Enter часто не хватает самой малости — знать сколько времени займет ее выполнение. Именно cкорость обработки данных и будет нам показывать pv.

С лирикой покончено, перейдем к примерам.

Установка pv в Debian довольно тривиальна.

В OpenSuSe тоже всё просто:

Дальше вводная, допустим вы такой же как и я счасливый обладатель каких-нибудь полезных логов, или у вас есть огромная коллекция фотографий вашей собачки, и в какой-то момент у вас дошли руки их заархивировать, например так

Есть мысли, сколько времени займет эта операция?

Тоже самое при помощи pv

Наглядно видно, что через пайп за 15 секунд прошло 128Мб — это 18% от всего объема, операция займет еще минуту и 7 секунд.

Может показаться, что pv это такая замена для cat, но на самом деле ее возможности намного шире. Например, упаковываем весь каталог в сжатый архив

Уже неплохо, но хочеться большего, чтобы показывалось время окончания работы. Для этого всего лишь надо при помощи ключа -s передать pv размер каталога в байтах

Можно так же составлять команды из несколько копий pv.

Ключ -c нужен, чтобы несколько копий pv не выводили информацию друг поверх друга. Ключ -N дает имя шкале.

Очень полезной pv оказалась при записи загрузочного образа на флешку:

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

 

P.S.: За материалы спасибо хабрахабру