Утилита progress
— инструмент терминала Linux, который помогает отслеживать выполнение команд. Она часто используется в сочетании с другими утилитами для получения информации в реальном времени.
В этой статье мы покажем, как применять утилиту progress
для мониторинга выполнения команд в Linux.
Содержание:
- Установка утилиты progress и ее зависимостей
- Выполнение каких команд может отслеживать progress
- Мониторинг работы команд с помощью progress
- Отслеживание выполнения команды в режиме реального времени
- Мониторинг всех доступных команд в режиме реального времени
- Выводы
Установка утилиты progress и ее зависимостей
По умолчанию инструмент progress
не предустановлен в большинстве популярных дистрибутивов Linux. Для работы этой утилиты Вам потребуется библиотека ncurses
. Ее можно установить с помощью стандартных менеджеров пакетов Вашего дистрибутива.
На Debian / Ubuntu Linux:
На RHEL / CentOS Linux:
На Fedora 22+:
Теперь, когда в Вашей ОС есть необходимые зависимости, установите инструмент progress
с помощью одной из следующих команд.
Для Debian / Ubuntu Linux:
Для RHEL / CentOS Linux:
Для Fedora 22+:
Читайте также: Как передавать файлы между двумя компьютерами с помощью команд nc и pv.
Если Вы пользуетесь каким-либо другим дистрибутивом Linux, последовательно выполните следующие команды, чтобы установить утилиту:
Выполнение каких команд может отслеживать progress
Утилита progress
работает не со всеми командами Linux. Чтобы получить список инструментов, выполнение которых может отслеживать progress
, примените одноименную команду без каких-либо опций и аргументов:
Мониторинг работы команд с помощью progress
Для следующего примера нам понадобятся два терминала. На одном мы запустим процесс копирования большого файла в определенную директорию, используя:
Во втором терминале будем отслеживать процесс выполнения предыдущей команды с помощью утилиты progress
и ее опции -w
:
На скриншоте выше видно, что команда progress -w
показывает прогресс копирования только в момент ее применения.
Читайте также: 10 примеров команды scp для передачи файлов по SSH в Linux.
Отслеживание выполнения команды в режиме реального времени
Допустим, мы хотим мониторить процесс копирования в режиме реального времени. Для этого выполним в терминале:
Давайте детальнее разберем использованную команду:
&
— символ в конце командыcp
, который указывает запустить ее в фоновом режиме;-m
— опцияprogress
, запускающая цикл, который будет продолжаться до тех пор, пока контролируемые процессы остаются активными;-p
— опция, которая позволяет указать процесс для отслеживания;$!
— специальная переменная оболочки, представляющая PID последнего фонового процесса, в данном случае, командыcp
.
Мониторинг всех доступных команд в режиме реального времени
В ОС Linux команды могут выполняться параллельно. И с помощью утилиты progress
Вы можете отслеживать работу сразу всех доступных команд.
Для примера запустим три операции копирования файлов и применим инструмент watch
, в качестве аргумента которого укажем команду progress -q
:
На скриншоте видны индикаторы выполнения всех трех команд.
Выводы
Теперь Вы знаете, как отслеживать прогресс выполнения операций в ОС Linux с помощью команды progress
. Надеемся, что эта статья была полезной для Вас!
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы 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.