Supervisar el progreso de una operación de línea de comandos de Linux

Si es un administrador del sistema Linux, no hay duda de que debe pasar la mayor parte de su tiempo de trabajo en la línea de comandos: instalando y eliminando paquetes; estadísticas del sistema de monitoreo; copiar, mover, eliminar cosas; problemas de depuración; y más. Hay momentos en los que dispara un comando y toma un tiempo antes de que se complete la operación. Sin embargo, también hay momentos en los que el comando que ejecutó simplemente se bloquea, dejándolo adivinando qué está sucediendo realmente detrás de escena.

Por lo general, los comandos de Linux no brindan información relacionada con el progreso de la operación en curso, algo que es muy importante, especialmente cuando tiene un tiempo limitado. Sin embargo, eso no significa que estés indefenso: existe un comando, denominado pv, que muestra información de progreso útil relacionada con la operación de línea de comando en curso. 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, fotovoltaica – 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 tasa de rendimiento actual, el total de datos transferidos y el ETA.

“Para usarlo, insértelo en una tubería entre dos procesos, con las opciones apropiadas. Su entrada estándar pasará a su salida estándar y el progreso se mostrará en el 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 la terminal:

Si está utilizando cualquier otra distribución de Linux, puede instalar el comando utilizando el administrador de paquetes instalado en su sistema. Una vez que se haya instalado correctamente, puede utilizar la utilidad de línea de comandos en varios escenarios (consulte la siguiente sección). Vale la pena mencionar que se ha utilizado la versión 1.2.0 de pv 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 desde una unidad USB a su computadora. Si intenta completar la operación antes mencionada utilizando el cp comando, tendrá que esperar ciegamente hasta que se complete la copia o se produzca algún error.

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

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

Y aquí está la salida:

pv-copia

Entonces, como puede ver arriba, el comando muestra mucha información útil relacionada con la operación en curso, incluida la cantidad de datos que se han transferido, el tiempo transcurrido, la tasa de transferencia, la barra de progreso, el progreso en porcentaje y la cantidad de tiempo restante.

los pv El comando proporciona varios interruptores de visualización. Por ejemplo, puedes usar -p para mostrar el porcentaje, -t para temporizador, -r por tasa de transferencia, -e para eta, y -b para el contador de bytes. Lo bueno es que no tendrás que recordar ninguno de ellos, ya que todos están habilitados por defecto. Sin embargo, si necesita información relacionada exclusivamente con un interruptor de pantalla en particular en la salida, puede pasar ese interruptor en el pv dominio.

También hay un -n interruptor de pantalla que permite que el comando muestre un porcentaje entero, uno por línea en el 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

pv-numeric

Este interruptor de pantalla en particular es adecuado en escenarios en los que desea canalizar la salida al diálogo dominio.

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

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

pv-ratelimit

Como se puede ver en la captura de pantalla anterior, la tasa de transferencia de datos se limitó según mi dirección.

Otro escenario donde pv puede ayudar es al comprimir archivos. Aquí hay 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

pv-gzip

Conclusión

Como has observado, pv es una pequeña utilidad útil que podría ayudarlo a ahorrar su valioso tiempo en caso de que una operación de la línea de comandos no se comporte como se esperaba. Además, la información que muestra también se puede usar en scripts de shell. Recomiendo encarecidamente este comando; vale la pena intentarlo.

Publicaciones Similares

Deja una respuesta

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