Команда progress для отслеживания выполнения команд в Linux

Команда progress для отслеживания выполнения команд в Linux

Утилита progress — инструмент терминала Linux, который помогает отслеживать выполнение команд. Она часто используется в сочетании с другими утилитами для получения информации в реальном времени.

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

Содержание:

  1. Установка утилиты progress и ее необходимых зависимостей
  2. Выполнение каких команд может отслеживать progress
  3. Мониторинг работы команд с помощью progress
  4. Отслеживание выполнения команды в режиме реального времени
  5. Мониторинг всех доступных команд в режиме реального времени
  6. Выводы

Установка утилиты progress и ее необходимых зависимостей

По умолчанию инструмент progress не предустановлен в большинстве популярных дистрибутивах Linux. Для работы этой утилиты Вам потребуется библиотека ncurses. Вы можете ее установить с помощью стандартных менеджеров пакетов Вашего дистрибутива.

На Debian / Ubuntu Linux:

 

install ncurces library

На RHEL / CentOS Linux:

 

На Fedora 22+:

 

Теперь когда в Вашей ОС есть необходимые зависимости, установите инструмент progress с помощью одной из следующих команд.

Для Debian / Ubuntu Linux:

 

install progress

Для RHEL / CentOS Linux:

 

Для Fedora 22+:

 

Читайте также: Как передавать файлы между двумя компьютерами с помощью команд nc и pv.

Если Вы пользуетесь каким-либо другим дистрибутивом Linux, последовательно выполните следующие команды, чтобы установить утилиту:

Выполнение каких команд может отслеживать progress

Утилита progress работает не со всеми командами Linux. Чтобы получить список инструментов, выполнение которых может отслеживать progress, примените одноименную команду без каких-либо опций и аргументов:

 

show commands

Мониторинг работы команд с помощью progress

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

 

Во втором терминале будем отслеживать процесс выполнения предыдущей команды с помощью утилиты progress и ее опции -w:

 

progress w

На скриншоте выше видно, что команда progress -w показывает прогресс копирования только в момент ее применения.

Читайте также: 10 примеров команды scp для передачи файлов по SSH в Linux.

Отслеживание выполнения команды в режиме реального времени

Допустим, мы хотим мониторить процесс копирования в режиме реального времени. Для этого выполним в терминале:

 

progress redirect

Давайте детальнее разберем использованную команду:

  • & — символ в конце команды cp, который указывает запустить ее в фоновом режиме;
  • -m — опция progress, запускающая цикл, который будет продолжаться до тех пор, пока контролируемые процессы остаются активными;
  • -p — опции, которая позволяет указать процесс для отслеживания;
  • $! — специальная переменная оболочки, представляющая PID последнего фонового процесса, в данном случае, команды cp.

Мониторинг всех доступных команд в режиме реального времени

В ОС Linux команды могут выполняться параллельно. И с помощью утилиты progress Вы можете отслеживать работу сразу всех доступных команд.

В качестве примера запустим три операции копирования файлов и применим инструмент watch, в качестве аргумента которого укажем команду progress -q:

 

watch progress

На скриншоте видны индикаторы выполнения всех трех команд.

Выводы

Теперь Вы знаете, как отслеживать прогресс выполнения операций в ОС Linux с помощью команды progress. Надеемся, что эта статья была полезной для Вас!

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы 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, подайте заявку или получите бесплатную консультацию.

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

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

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

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


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