ГлавнаяОперационные системыLinuxКак проверить ход выполнения команд в Linux

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

linux_penguinИногда при копировании большого файла, например фильма или образа операционной системы, выполнение команды cpзанимает больше времени, чем ожидалось, в зависимости от нагрузки на вашу систему. Поскольку он не сообщает о ходе операции, становится трудно понять, что именно происходит.

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

Введение

Команда cv — это утилита, которая специально ищет Coreutils базовых команд, таких как cp, mv, dd, tar, catи другие, которые в настоящее время работают в вашей системе и отображают процент их выполнения. Хотя он предназначен только

Введение

доступен порт для Mac OSX .

Загрузить и установить

Чтобы загрузить и установить команду cv, перейдите к ее Репозиторий на Гитхабе и загрузите исходный пакет (в моем случае имя загруженного файла было «cv-master.zip»).»). После этого извлеките файлы с помощью следующей команды:

unzip cv-master.zip

Войдите в каталог «cv-master» и выполните следующие команды для сборки пакета и установки двоичного файла:

make
make install

Обратите внимание, что команда cvзависит от библиотеки «ncurses», поэтому вам, возможно, придется установить соответствующие пакеты, что можно сд

Загрузить и установить

ду:

sudo apt-get install ncurses-dev

Еще один момент, на который стоит обратить внимание: после установки двоичный файл попадает в «/usr/local/bin», поэтому убедитесь, что путь добавлен в вашу системную среду, иначе ваша оболочка не сможет найти команду. когда вы его запустите. Альтернативой может быть изменение текущего каталога на «/usr/local/bin», а затем выполнение команды следующим образом:

./cv

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

Вот несколько примеров использования этой команды:

Примечание. Все примеры, представленные в этой статье, протестированы на Ubuntu 14.04.

Простой пример

Поскольку команда cv отображает ход выполнения других выполняемых команд, должна быть команда, которая выполняется достаточно долго, чтобы команда cvмогла отображать что угодно. Например, я попытался скопировать огромный файл со своего флэш-накопителя на компьютер с Linux, и когда была выполнена команда cp, я немедленно переключился на другую вкладку оболочки и выполнил следующую команду:

./cv

Команда отобразила следующий результат:

cv-default-output-single-command

Первое поле выходных данных — это PID отслеживаемой команды, за которым следует команда и ход выполнения в процентах, а также в числах. Стоит отметить, что первая строка в выводе команды cv(cat inactive/flushing/streaming/...) является стандартной — я проверил код и обнаружил, что строка печатается при определенных условиях., который, очевидно, всегда попадает в цель (пока мы можем его игнорировать).

Если выполняется более одной команды, команда cvотображает прогресс, относящийся ко всем из них. Например, вот результат выполнения двух команд:

Использование src="https://saintist.ru/wp-content/uploads/2024/05/cv-default-ouput-multiple-commands.png" alt="cv-default-output-multiple-commands">

Получить расчетную пропускную способность ввода-вывода и расчетное время прибытия

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

Простой пример

если вы узнаете другую информацию, например оставшееся время или расчетное время прибытия. Для этого команда cvпредлагает параметр командной строки -w.

Например, при выполнении следующей команды:

./cv -w

был отображен следующий результат:

[ 9287] cp /media/himanshu/F58B-9AA9/casper-rw 10.3% (105.2 MiB / 1 GiB) 27.9 MiB/s eta 0:00:32

Последние два поля в выходных данных, которые представляют расчетную пропускную способность ввода-вывода и расчетное время прибытия, означают, что операция копирования выполняется со скоростью 27,9 МБ в секунду и ее завершение займет 32 секунды.

Зациклить команду

При использовании команды cvвы заметите, что она показывает детали прогресса на данный момент, а затем завершается. Чтобы гарантировать, что cvне завершится до тех пор, пока не завершится отслеживаемая команда, используйте параметр -m.

cv -m

<

Это гарантирует, что команда cvбудет выполняться в цикле, пока отслеживаемые процессы все еще выполняются.

Заключение

Команда cvможет оказаться полезной для тех, кто занимается передачей тяжелых файлов или другими трудоемкими операциями в командной строке Linux. Излишне говорить, что поскольку исходный код открыт, вы можете изменить способ его взаимодействия и работы, внеся изменения в его кодовую базу, которая довольно мала и проста для понимания.

Вы когда-нибудь использовали cvили любую другую подобную команду? Как прошел ваш опыт? Поделитесь своими мыслями в комментариях ниже.

Получить расчетную пропускную способность ввода-вывода и расчетное время прибытия

Зациклить команду

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи