Поиск по сайту:

Прогресс — показать ход выполнения команд Linux (cp, mv, dd, tar)


Progress, ранее известный как Coreutils Viewer, — это легкая команда C, которая выполняет поиск основных команд coreutils, таких как cp. , mv, tar, dd, gzip/gunzip, cat, grep и т. д., которые в данный момент выполняются в системе, и показывает процент копируемых данных работает только в операционных системах Linux и Mac OS X.

Кроме того, он также отображает важные аспекты, такие как расчетное время и пропускная способность и предлагает пользователям режим «как сверху».

Он полностью сканирует файловую систему /proc на наличие интересных команд, а затем ищет в каталогах fd и fdinfo, чтобы найти открытые файлы, ищет позиции и сообщает о состоянии обширных файлов. Важно отметить, что это очень легкий инструмент, совместимый практически с любой командой.

Как установить средство просмотра прогресса в Linux

Для работы Progress требуется библиотека ncurses, поэтому установите libncurses, прежде чем приступить к ее установке, выполнив соответствующую команду ниже:

sudo apt install libncurses5-dev   [On Debian, Ubuntu and Mint]
sudo yum install ncurses-devel     [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a ncurses-devel       [On Gentoo Linux]
sudo apk add ncurses-dev           [On Alpine Linux]
sudo pacman -S ncurses-devel       [On Arch Linux]
sudo zypper install ncurses-devel  [On OpenSUSE]    

В дистрибутивах на основе RPM, таких как (Red Hat, CentOS, Fedora, SUSE, Rocky, AlmaLinux и т. д.), запустите один из них:

sudo dnf install progress
sudo yum install progress

В системах на основе deb (Debian, Ubuntu, Mint и т. д.) запустите:

sudo apt install progress

В Arch Linux запустите:

sudo pacman -S progress

В других дистрибутивах Linux вы можете начать с клонирования или загрузки файлов пакета из репозитория Github следующим образом:

git clone https://github.com/Xfennec/progress.git

Затем перейдите в каталог прогресса и создайте его, как показано:

cd progress
make 
sudo make install

После успешной установки просто запустите этот инструмент со своего терминала. Ниже мы рассмотрим несколько примеров использования Progress в системе Linux.

Мониторинг хода выполнения команд в Linux

Вы можете просмотреть все команды coreutils, с которыми работает Progress, запустив его без каких-либо параметров, при условии, что в системе не выполняется ни одна из команд coreutils:

progress 

Чтобы отобразить расчетную пропускную способность ввода-вывода и расчетное оставшееся время для выполняемых команд coreutils, включите опцию -w:

progress -w

Показать прогресс копирования файлов

Чтобы просмотреть ход выполнения команды cp при копировании больших файлов, выполните:

cp GhostBSD.vdi /home/tecmint/Downloads/ & progress -mp $!

Показать ход перемещения файлов

Чтобы просмотреть ход выполнения команды mv при перемещении больших файлов, выполните:

mv GhostBSD.vdi /media/tecmint/Personal_Data/ & progress -mp $!

Показать прогресс файлов Tar

Чтобы просмотреть ход выполнения команды tar при создании tar-архива, выполните:

tar czf images.tar.gz linuxmint-18-cinnamon-64bit.iso CentOS-7.0-1406-x86_64-DVD.iso CubLinux-1.0RC-amd64.iso | progress  -m  $!

Показать ход выполнения нескольких команд

В следующем примере вы можете открыть два или более окон терминала, затем запустить команды coreutils в каждом из них и наблюдать за их ходом, используя другое окно терминала, как показано на изображении ниже.

Команда ниже позволит вам отслеживать все текущие и предстоящие экземпляры команд coreutils:

watch progress -q

Чтобы найти более интересные варианты, просмотрите справочные страницы progress или посетите https://github.com/Xfennec/progress:

man progress
Заключение

В заключение отметим, что это очень полезный инструмент для мониторинга хода выполнения команд coreutils, особенно при копировании, архивировании и сжатии тяжелых файлов, а также многого другого.

Если вы успешно установили его, используйте его и поделитесь с нами своим опытом в разделе комментариев ниже. Вы также можете предоставить нам несколько отличных примеров использования, которые вы найдете полезными для важных повседневных задач системного администрирования и многого другого.