El uso de comandos en sistemas operativos Linux es algo muy natural ya que encontramos cientos de comandos útiles para obtener información del sistema, ver procesos, copiar elementos, ejecutar ordenes y en general llevar a cabo mucha funciones de orden administrativo y de soporte.
Ahora bien, cuando tú ejecutas un comando en la terminal de Linux normalmente este se ejecuta en segundo plano sin mucha veces ver su estado actual y no hay nada más importante que tener una visión clara acerca de qué porcentaje de la tarea se va y que parte de la orden está ejecutando el comando. De modo que para ver este tipo de información contamos con la posibilidad de usar los comandos pv y progress en Linux.
Solvetic te explicará en detalle que son estos comandos, cuales son sus opciones y cómo usarlos en Linux.
1. Comando pv Linux
El comando pv ha sido desarrollado para permitirnos monitorear el progreso de un comando usando la función de tubería (pipe). Esto es práctico ya que con la ejecución de este comando tendremos acceso a detalles específicos como:
- Tiempo transcurrido desde la orden del comando
- El porcentaje que ya ha sido completado a través de una barra de progreso
- Despliegue de la tasa de rendimiento del comando
- El total de datos transferidos
- Visualización del ETA (estimated Time - Tiempo estimado)
El comando pv se encarga de copiar cada archivo indicado hacia la salida estándar, en caso de no indicar algún archivo, pv solo copiará la entrada estándar.
Los parámetros de uso disponibles con el comando pv son:
Adicional a ello, el comando pv dispone de una serie de modificadores para la salida los cuales son:
2. Cómo instalar comando pv en Linux
Para instalar el comando pv en Linux debes ejecutar alguno de los siguientes comandos en base a la distribución usada:
sudo apt-get install pv
sudo dnf install pv
sudo pacman -Syu pv
sudo yum install pv
emerge --ask sys-apps/pv
3. Cómo usar el comando pv en Linux
Una vez instalado vamos a ver cómo funciona el comando pv.
Si deseamos acceder a algún archivo para su compresión, debemos ejecutar pv seguido de la ruta y añadir | zip > nombre.zip:
Como vemos, al pulsar Enter veremos detalles como:
- Tasa de transferencia
- Tiempo total
- Barra de progreso, etc
Si deseamos contar el número de líneas en un archivo, por ejemplo /etc/hosts, ejecutaremos lo siguiente:
pv -p /etc/hosts | wc
En el caso que deseemos monitorear la creación de un archivo comprimido, en este caso un archivo en el directorio Documentos, vamos a ejecutar lo siguiente:
tar -czf - ./Documentos/ | (pv -p --timer --rate --bytes > solvetic.tgz)Al dar Enter veremos el estado de la orden junto a la barra de progreso y las medidas respectivas:
Para desplegar un cuadro de diálogo durante el proceso anterior, podemos añadir el parámetro “dialog” el cual podemos instalar con el siguiente comando:
sudo apt install dialogLuego ejecutaremos lo siguiente:
tar -czf - ./Documentos/ | (pv -n > solvetic.tgz) 2>&1 | dialog --gauge "Progreso" 10 70
Al pulsar Enter veremos lo siguiente para monitorear el progreso de la orden:
3. Comando Progress Linux y cómo instalarlo
El comando progress, el cual también podemos encontrar como Coreutils Viewer, es un comando que ha sido diseñado para encontrar los comandos básicos de coreutils tales como cp, mv, tar, dd, gzip / gunzip, cat, grep y más de modo que cuando los encuentra, desplegará el porcentaje de datos copiados, este comando solo puede ser ejecutado en sistemas operativos Linux y macOS.
Para instalar este comando vamos a ejecutar lo siguiente:
sudo apt-get install progress
sudo dnf install progress
sudo pacman -Syu progress
yum install ncurses-devel
4. Cómo usar el comando progress en Linux
Una vez instalado podemos ejecutar directamente progress en la terminal para ver los comandos que son compatibles a usar:
Para usar progress, en este caso vamos a copiar el contenido del directorio Documentos y debemos añadir el parámetro progress -m:
tar -czf - ./Documentos | progress -mAl pulsar enter veremos lo siguiente:
Para monitorear todas las instancias ejecutadas de progress debemos usar el siguiente comando:
watch progress -q
Para usar el comando progress en modo Monitor, vamos a ejecutar lo siguiente:
progress -MAllí veremos los valores compatibles:
Algunas de las opciones para usar con este comando son:
Gracias al uso de estos dos comandos es posible monitorear de forma segura y precisa todo el estado de las acciones que llevemos a cabo en Linux.