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

Как отслеживать ход операции командной строки Linux с помощью команды PV

Если вы системный администратор Linux, нет никаких сомнений в том, что вы, должно быть, проводите большую часть своего рабочего времени в командной строке — устанавливая и удаляя пакеты; мониторинг статистики системы; копирование, перемещение, удаление вещей; проблемы отладки; и более. Бывают случаи, когда вы запускаете команду, и до завершения операции проходит некоторое время. Однако бывают случаи, когда выполненная вами команда просто зависает, и вам приходится гадать, что на самом деле происходит за кулисами.

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

Команда PV

Разработанное Эндрю Вудом, PV – что означает Pipe Viewer – отображает информацию, связанную с прохождением данных по конвейеру. Информация включает в себя прошедшее время, процент выполнения (с индикатором выполнения), текущую скорость пропускной способности, общий объем переданных данных и расчетное время прибытия.

“Чтобы использовать его, вставьте его в конвейер между двумя процессами с соответствующими параметрами. Его стандартный ввод будет передан на стандартный вывод, а прогресс будет отображаться в виде стандартной ошибки»,

Выше объясняется справочная страница команды.

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

Команда PV

стем на базе Debian, таких как Ubuntu, могут легко установить утилиту, выполнив в терминале следующую команду:

sudo apt-get install pv

Если вы используете любой другой дистрибутив Linux, вы можете установить команду с помощью менеджера пакетов, установленного в вашей системе. После успешной установки вы можете использовать утилиту командной строки в различных сценариях (см. следующий раздел). Стоит отметить, что во всех примерах, упомянутых в этой статье, использовалась версия 1.2.0.

Функции и использование

Очень распространенный сценарий, который, вероятно, знаком большинству из нас (тех, кто работает с командной строкой в ​​Linux), — это коп

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

акопителя на ваш компьютер. Если вы попытаетесь выполнить вышеупомянутую операцию с помощью команды cp, вам придется слепо ждать завершения копирования или возникновения какой-либо ошибки.

Однако в этом случае может помочь команда pv. Вот пример:

pv /media/himanshu/1AC2-A8E3/fNf.mkv > ./Desktop/fnf.mkv

И вот результат:

PV-копия

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

Команда pvпредоставляет различные переключатели отображения. Например, вы можете использовать -pдля отображения процентов, -tдля таймера, -rдля скорости передачи, -eдля эта и -bдля счетчика байтов. Хорошо, что вам не придется запоминать ни один из них, поскольку все они включены по умолчанию. Однако если вам требуется информация, относящаяся только к определенному переключателю отображения в выходных данных, вы можете передать этот переключатель в команде pv.

Также имеется переключатель отображения -n, который позволяет

Функции и использование

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

pv -n /media/himanshu/1AC2-A8E3/fNf.mkv > ./Desktop/fnf.mkv

PV-числовой

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

Двигаясь дальше, есть также параметр командной строки -L, который позволяет изменять скорость передачи данных команды pv. Например, я использовал -L, чтобы ограничить скорость передачи данных до 2 МБ/с.

pv -L 2m /media/himanshu/1AC2-A8E3/fNf.mkv > ./Desktop/fnf.mkv

Pv-предел скорости

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

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

pv /media/himanshu/1AC2-A8E3/fnf.mkv | gzip > ./Desktop/fnf.log.gz

pv-gzip

Заключение

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

Заключение

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

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