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

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

Мануал

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

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

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

Что такое pipe viewer

Pipe viewer (pv) – это инструмент CLI, который позволяет отслеживать ход выполнения данных через конвейер, предоставляя информацию, такую как процент завершения, ETA, общее количество переданных данных, время и т. д.

Он использует только два параметра:

 -s, --size <размер> 

: Предположим, что общий объем передаваемых данных равен –size.

Вы можете указать размер в байтах или использовать единицы (b, kb, mb, gb, tb).

  -N, --name <имя>

: префикс выводимой информации с помощью –name.

1) Установка

Unix pv от Rocco можно установить через node.js, как показано ниже:

 # npm install -g pv
/usr/bin/pv -> /usr/lib/node_modules/pv/bin/pv.js
+ pv@1.0.1
added 15 packages in 0.953s 

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

a) Отображение процесса копии dd

Вы можете вывести ход копирования файла при использовании команды dd

<h4>б) Процесс команды cat</h4>
Вы можете выбрать вывод команды cat при отображении содержимого файла журнала сообщений, например:

# cat /var/log/messages | pv
Oct 13 03:36:02 localhost journal: Runtime journal is using 6.1M (max allowed 49.4M, trying to leave 74.1M free of 488.4M available → current limit 49.4M).
Oct 13 03:36:02 localhost kernel: Linux version 4.9.36-x86_64-linode85 (maker@build.linode.com) (gcc version 4.9.2 (Debian 4.9.2-10) ) #1 SMP Thu Jul 6 15:31:23 UTC 2017
........
........
100.00% | 0 ETA | 114.83KB Transferred | 114.83KB/s

в) Показать ход сжатия

Во время некоторых операций сжатия нам может понадобиться показать прогресс.

 # tar -cf - /var/log/ | pv -N backlog | tar -C . -x
tar: Removing leading `/' from member names
backlog: 100.00% | 0 ETA | 660KB Transferred | 660KB/s 

г) Визуализировать сеть ssh

Вы можете подключиться к хосту через ssh и отобразить скорость передачи в реальном времени. В нашем случае мы передадим все переданные данные в / dev / null с локального хоста

 # yes | pv | ssh paul@localhost "cat > /dev/null"
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:lqes2c9Obi9lCSepwdT8uovcsmhcboUAsylF69MENDE.
ECDSA key fingerprint is MD5:38:67:a1:25:96:7b:69:02:f6:b8:ff:5d:ce:03:fd:a0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
paul@localhost's password:
0.00% | 0 ETA | 800.84MB Transferred | 17.04MB/s 

 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий