Cómo monitorizar el progreso de una operación en la línea de comandos de Linux utilizando el comando PV

Si usted es un administrador de sistemas Linux, no hay duda de que debe estar pasando la mayor parte de su tiempo de trabajo en la línea de comandos – instalando y eliminando paquetes; monitoreando las estadísticas del sistema; copiando, moviendo, borrando cosas; depurando problemas; y más. Hay ocasiones en las que se dispara un comando y se tarda un tiempo en completar la operación. Sin embargo, también hay ocasiones en las que el comando que ejecutó se cuelga, lo que le deja adivinando lo que realmente está ocurriendo entre bastidores.

Normalmente, los comandos de Linux no proporcionan información relacionada con el progreso de la operación en curso, algo que es muy importante, especialmente cuando se dispone de poco tiempo. Sin embargo, eso no significa que no pueda hacer nada – existe un comando, llamado pv, que muestra información útil sobre el progreso relacionado con la operación en curso de la línea de comandos. En este artículo discutiremos este comando así como sus características a través de algunos ejemplos fáciles de entender.

Comando PV

Desarrollado por Andrew Wood, PV – que significa Pipe Viewer – muestra información relacionada con el progreso de los datos a través de una tubería. La información incluye el tiempo transcurrido, el porcentaje completado (con barra de progreso), la velocidad actual de producción, el total de datos transferidos y la ETA.

«Para utilizarlo, introdúzcalo en un pipeline entre dos procesos, con las opciones adecuadas. Su entrada estándar pasará a su salida estándar y el progreso se mostrará en error estándar,»

Lo anterior explica la página de manual del comando.

Descarga e instalación

Los usuarios de sistemas basados en Debian como Ubuntu pueden instalar fácilmente la utilidad ejecutando el siguiente comando en el terminal:

sudo apt-get install pv

Si está usando cualquier otra distribución de Linux, puede instalar el comando usando el gestor de paquetes instalado en su sistema. Una vez instalado correctamente, puede utilizar la utilidad de línea de comandos en varios escenarios (véase la siguiente sección). Vale la pena mencionar que la versión pv 1.2.0 ha sido utilizada en todos los ejemplos mencionados en este artículo.

Características y uso

Un escenario muy común con el que probablemente la mayoría de nosotros (que trabajamos en la línea de comandos en Linux) nos relacionaríamos es copiar un archivo de película de una unidad USB a su computadora. Si intenta completar la operación anterior utilizando el comando cp, tendrá que esperar ciegamente hasta que la copia esté completa o se produzca algún error.

Sin embargo, el comando pv puede ser útil en este caso. Aquí hay un ejemplo:

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

Y aquí está el resultado:

Cómo monitorizar el progreso de una operación en la línea de comandos de Linux utilizando el comando PV


Así que, como puede ver arriba, el comando muestra mucha información útil relacionada con la operación en curso, incluyendo la cantidad de datos que han sido transferidos, el tiempo transcurrido, la velocidad de transferencia, la barra de progreso, el progreso en porcentaje, y la cantidad de tiempo restante.

El comando pv proporciona varios interruptores de visualización. Por ejemplo, puede utilizar -p para visualizar el porcentaje, -t para el temporizador, -r para la velocidad de transferencia, -e para eta y -b para el contador de bytes. Lo bueno es que no tendrás que recordar ninguna de ellas, ya que todas están habilitadas por defecto. Sin embargo, si sólo necesita información relacionada con un interruptor de visualización concreto en la salida, puede pasar ese interruptor en el comando pv.

También hay un interruptor de visualización -n que permite que el comando muestre un porcentaje entero, uno por línea en error estándar, en lugar del indicador de progreso visual normal. El siguiente es un ejemplo de este interruptor en acción:

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

Cómo monitorizar el progreso de una operación en la línea de comandos de Linux utilizando el comando PV


Este interruptor de visualización en particular es adecuado en escenarios en los que desee canalizar la salida al comando dialog .

Continuando, también hay una opción de línea de comandos, -L, que le permite modificar la velocidad de transferencia de datos del comando pv. Por ejemplo, usé -L para limitar la velocidad de transferencia de datos a 2MB/s.

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

Cómo monitorizar el progreso de una operación en la línea de comandos de Linux utilizando el comando PV


Como se puede ver en la captura de pantalla anterior, la velocidad de transferencia de datos se ha limitado en función de la dirección.

Otro escenario en el que pv puede ayudar es en la compresión de archivos. He aquí un ejemplo de cómo puede usar este comando mientras comprime archivos usando Gzip:

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

Cómo monitorizar el progreso de una operación en la línea de comandos de Linux utilizando el comando PV


Conclusión

Como has observado, pv es una pequeña utilidad útil que podría ayudarte a ahorrar tu precioso tiempo en caso de que una operación de línea de comandos no se esté comportando como se esperaba. Además, la información que muestra también se puede utilizar en scripts de shell. Recomendaría encarecidamente este comando; vale la pena intentarlo.

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos

Relacionado

Linux

Si utiliza Linux, probablemente llegará el momento en que necesite saber más acerca de su red. Varias herramientas pueden ayudarle a hacer esto, y algunas son más complicadas que otras. El comando ss es algo en lo que puede confiar al estar instalado en muchos equipos, por lo que es muy útil saberlo. ¿Qué es el Comando ss? Aunque el nombre del comando de dos letras puede parecer arcano, en realida ...