kak-otslezhivat-progress-vypolneniya-nekotoryh-operatsij-s-pomoshhyu-komandy-pv

Команда pv в Linux с примерами

Рубрики:

Linux, Утилиты Linux

Метки:

,

Утилита pv  (от англ. Pipe Viewer) — инструмент, командной строки Linux, который используется как индикатор выполнения (Progress Bar) различных команд в ОС, а также позволяет отслеживать состояние данных, проходящих через конвейер. Таким образом, с ее помощью можно определить скорость и время передачи информации.

В этой статье мы расскажем, как установить и использовать утилиту pv в ОС Linux.

Содержание:

  1. Установка утилиты pv в Linux
  2. Использование pv в Linux
    1. Мониторинг копирования содержимого файла
    2. Отслеживание процесса создания архива
    3. Изменение вывода команды pv
    4. Ограничение скорости передачи данных
    5. Использование утилит pv и dialog
  3. Выводы

Установка утилиты pv в Linux

Инструмент pv доступен в репозиториях большинства дистрибутивов Linux. Поэтому для его установки достаточно выполнить одну команду.

Для Debian / Ubuntu:

 

install

Для CentOS / RHEL:

 

Для Fedora 22+:

 

У команды pv есть опции, которые расширяют ее функционал. Чтобы просмотреть их список, выполните в терминале:

 

pv help

Читайте также: 17 примеров использования top в Linux.

Далее в примерах мы будем использовать следующие параметры:

  • --rate-limit — позволяет задать максимальную скорость передачи данных;
  • -p (или --progress) — отображает индикатор выполнения команды;
  • --timer — добавляет таймер выполнения команды;
  • --rate — отображает текущую скорость передачи данных;
  • --bytes — отображает общее количество переданных данных в байтах.

Использование pv в Linux

В большинстве случаев команда pv используется с операторами перенаправления и конвейерами. Например:

Мониторинг копирования содержимого файла

С помощью инструмента pv можно легко отслеживать процесс выполнения копирования содержимого одного файла в другой. Это особенно полезно при обработке большого объема текста. Например:

 

pv copy

На скриншоте выше видно, что инструмент вывел на экран объем скопированных файлов, время выполнения операции и среднюю скорость передачи данных.

Отслеживание процесса создания архива

Вы можете создавать более сложные конструкции из команд с помощью pv. К примеру, отследим процесс архивации файла. Для этого выполним следующие действия:

  • передадим содержимое файла на вход команды zip с помощью конвейера;
  • присвоим название для архива с помощью оператора перенаправления.

 

creating zip

Читайте также: Как создавать и извлекать файлы Zip в конкретный каталог в Linux.

Изменение вывода команды pv

Вы можете самостоятельно настраивать вывод команды pv. Например, чтобы вывести на экран только строку прогресса выполнения команды, используйте параметр -p:

 

pv progress

Чтобы отобразить на экране таймер выполнения операции, скорость передачи данных и общее количество переданных байт, используйте параметры --timer, --rate и --bytes, соответственно:

 

pv create tar

Ограничение скорости передачи данных

С помощью команды pv Вы можете ограничивать скорость передачи данных в ОС. Для этого следует использовать опцию --rate-limit. Например, сделаем так, чтобы скорость создания архива составляла 1 мегабайт в секунду:

 

limit rate

Читайте также: Как ограничить скорость загрузки файлов с помощью Wget в Linux.

Использование утилит pv и dialog

Вы можете использовать команды pv и dialog вместе, чтобы сделать процесс мониторинга выполнения операции более интерактивным. Утилита dialog используется для создания диалоговых окон в терминале. Например:

 

dialog window

Давайте детальнее рассмотрим команду 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 с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Утилиты Linux

Метки:

,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню