LINUX

Pipe Viewer: una herramienta para ver el progreso de los comandos en Linux

ver la tubería de comandos de progreso

Cuando trabaja en algunos procesos, a veces necesita visualizar la progresión de las operaciones de archivo. Algunos comandos tienen un parámetro para ayudarlo a ver la progresión, pero para aquellos que no lo tienen, debe usar otro método. Para mitigar este problema, puede utilizar un visor de tubería que indica la progresión de los diferentes procesos que inicia.

Que es pipe viewer

Visor de tubería (pv) es una herramienta CLI que le permite monitorear el progreso de los datos a través de una canalización proporcionando información como porcentaje completado, ETA, total de datos transferidos, tiempo transcurrido, etc. Si tiene algunos procesos, puede insertar el visor de canalizaciones como una tubería normal entre los diferentes procesos para tener una indicación visual de la progresión.

Opciones de la herramienta Visor de tuberías:

  • -s, --size <size>: Suponga que la cantidad total de datos que se transferirán es TAMAÑO. Puede proporcionar un tamaño en bytes o utilizando unidades (b, kb, mb, gb, tb).
  • -N, --name <name>: Prefije la información de salida con NAME.

1) Instalación de Pipe Viewer

El visor de tuberías se puede instalar a través de node.js como se muestra a continuación:

# 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

Ejemplos de uso del visor de canalizaciones

En esta parte, le mostraré algunos ejemplos diferentes que pueden ayudarlo a usar la herramienta pv

a) Muestra una progresión de copia dd

Puede mostrar la progresión de la copia de un archivo cuando usa el comando dd

# dd if=ubuntu-gnome-17.04-desktop-amd64.iso | pv | dd of=dest/ubuntu17
 0.00% | 0 ETA | 1.36GB Transferred | 95.71MB/s2964416+0 records in
2964416+0 records out
1517780992 bytes (1.5 GB) copied, 14.7174 s, 103 MB/s
 100.00% | 0 ETA | 1.41GB Transferred | 96.5MB/s2964416+0 records in
2964416+0 records out
1517780992 bytes (1.5 GB) copied, 14.7301 s, 103 MB/s

b) Una progresión de comando de gato

Puede decidir mostrar la progresión del comando cat al mostrar el contenido del archivo de registro de mensajes, por ejemplo

# 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

c) Mostrar la progresión mientras se comprime

Durante algunas operaciones de compresión, es posible que necesitemos mostrar la progresión. Es posible de la siguiente manera

# 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

d) Visualizar una red SSH en vivo

Puede conectarse a un host a través de ssh y muestra la velocidad de transferencia en vivo. En nuestro caso, dirigiremos todos los datos transferidos a /dev/null con una prueba local

# 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

El visor de tubería Unix de Rocco Musolino no muestra el porcentaje completado con la barra de progreso como el visor de tubería «normal» instalado a través del paquete. Podemos ver que el visor de tubería es interesante cuando nos enfrentamos a comandos que no permiten visualizar la progresión de los procesos.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar