Утилита pv
(от англ. Pipe Viewer) — инструмент, командной строки Linux, который используется как индикатор выполнения (Progress Bar) различных команд в ОС, а также позволяет отслеживать состояние данных, проходящих через конвейер. Таким образом, с ее помощью можно определить скорость и время передачи информации.
В этой статье мы расскажем, как установить и использовать утилиту pv
в ОС Linux.
Содержание:
Установка утилиты pv в Linux
Инструмент pv
доступен в репозиториях большинства дистрибутивов Linux. Поэтому для его установки достаточно выполнить одну команду.
Для Debian / Ubuntu:
Для CentOS / RHEL:
Для Fedora 22+:
У команды pv
есть опции, которые расширяют ее функционал. Чтобы просмотреть их список, выполните в терминале:
Читайте также: 17 примеров использования top в Linux.
Далее в примерах мы будем использовать следующие параметры:
--rate-limit
— позволяет задать максимальную скорость передачи данных;-p
(или--progress
) — отображает индикатор выполнения команды;--timer
— добавляет таймер выполнения команды;--rate
— отображает текущую скорость передачи данных;--bytes
— отображает общее количество переданных данных в байтах.
Использование pv в Linux
В большинстве случаев команда pv
используется с операторами перенаправления и конвейерами. Например:
Мониторинг копирования содержимого файла
С помощью инструмента pv
можно легко отслеживать процесс выполнения копирования содержимого одного файла в другой. Это особенно полезно при обработке большого объема текста. Например:
На скриншоте выше видно, что инструмент вывел на экран объем скопированных файлов, время выполнения операции и среднюю скорость передачи данных.
Отслеживание процесса создания архива
Вы можете создавать более сложные конструкции из команд с помощью pv
. К примеру, отследим процесс архивации файла. Для этого выполним следующие действия:
- передадим содержимое файла на вход команды
zip
с помощью конвейера; - присвоим название для архива с помощью оператора перенаправления.
Читайте также: Как создавать и извлекать файлы Zip в конкретный каталог в Linux.
Изменение вывода команды pv
Вы можете самостоятельно настраивать вывод команды pv
. Например, чтобы вывести на экран только строку прогресса выполнения команды, используйте параметр -p
:
Чтобы отобразить на экране таймер выполнения операции, скорость передачи данных и общее количество переданных байт, используйте параметры --timer
, --rate
и --bytes
, соответственно:
Ограничение скорости передачи данных
С помощью команды pv
Вы можете ограничивать скорость передачи данных в ОС. Для этого следует использовать опцию --rate-limit
. Например, сделаем так, чтобы скорость создания архива составляла 1 мегабайт в секунду:
Читайте также: Как ограничить скорость загрузки файлов с помощью Wget в Linux.
Использование утилит pv и dialog
Вы можете использовать команды pv
и dialog
вместе, чтобы сделать процесс мониторинга выполнения операции более интерактивным. Утилита dialog
используется для создания диалоговых окон в терминале. Например:
Давайте детальнее рассмотрим команду dialog --gauge "Progress" 10 70
:
--gauge
— опция, которая указывает, что нужно создать прогресс-бар;"Progress"
— заголовок диалогового окна;10 70
— размеры диалогового окна (10 строк на 70 символов).
Выводы
Теперь Вы знаете, как отслеживать время выполнения операций в ОС Linux с помощью команды pv
. Используя эту утилиту, Вы также сможете контролировать скорость передачи данных, оптимизировать процессы обработки информации и многое другое.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.