Cómo monitorear el progreso de los comandos de Linux (con pv y progreso)

En lugar de volar a ciegas, use Linux pv Y progress comandos para seguir el progreso de un comando. Estas utilidades le brindarán barras de progreso para comandos que normalmente no las tienen. También verás el tiempo estimado hasta su finalización.

Iniciar un comando desde la ventana de la terminal a veces puede parecer como un vuelo de larga distancia sin una pantalla de video. No tiene nada que indique si todo está bien o si el proceso se ha estancado, ni qué tan cerca está de completarse. Un cursor parpadeante no es muy informativo.

EL pv Y progress los controles proporcionan algunas estadísticas y un poco de información visual. Puedes ver cuánto tiempo queda para que se complete el proceso. Esto significa que obtiene una ETA para sus procesos en curso. En comparación con mirar fijamente un cursor, esto gana sin lugar a dudas.

→ Índice de contenidos

Cómo instalar fotovoltaica

Necesitas instalar pv.

Instalar pv en Ubuntu usa este comando:

sudo apt-get install pv

Instalar pv en Fedora usa este comando:

sudo dnf install pv

sudo dnf instala pv en una ventana de terminal

Instalar pv en Manjaro usa este comando:

sudo pacman -Syu pv

sudo pacman -Syu pv en una ventana de terminal

Usando PV

pv significa visor de tubo. Las tuberías deben estar involucradas en el control en alguna parte. Aquí hay un ejemplo donde estamos transmitiendo una imagen ISO. zip para crear un archivo zip comprimido de la ISO.

Para ralentizar los comandos lo suficiente como para tomar una captura de pantalla, algunos de los archivos de los ejemplos utilizados en este artículo se almacenaron en un USB externo lento y antiguo llamado SILVERXHD.

pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso | zip > gparted.zip

pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso |  zip > gparted.zip en una ventana de terminal

La información pv nos da se puede ver en la línea inferior de la pantalla.

Salida pv para crear un archivo zip en una ventana de terminal

De izquierda a derecha, la información que se muestra es:

  • Los datos transferidos hasta el momento.
  • El tiempo ha pasado desde lejos.
  • La velocidad de transferencia de datos (rendimiento).
  • Una barra de progreso y porcentaje completado.
  • El tiempo estimado restante hasta la finalización (ETA).

Copiar un archivo con pv

Para copiar un archivo con salida de pvusa este comando:

pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso > gparted.iso

pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso |  gparted.iso en una ventana de terminal

Recibimos un informe de progreso a medida que se copia el archivo.

copiar un archivo con pv en una ventana de terminal

Copiar varios archivos con pv

Para copiar varios archivos y carpetas con pv Tenemos que usar un pequeño truco. Usamos tar para mover archivos por nosotros.

tar -c help-files/ | pv | tar -x -C Documents/

sudo apt-get install pv en una ventana de terminal

EL tar -c help-files/ parte del comando instruye tar crear (-c) un archivo de archivos en la carpeta de archivos de ayuda. esto esta canalizado pv para poder tener una visión del progreso. Luego lo traen de regreso tar para la última parte del comando. El archivo se extrae (-x) y se cambia el directorio (-C) a los documentos antes de la extracción.

Por lo tanto, los archivos y carpetas que se encuentran en los archivos de ayuda se copian a la carpeta Documentos, con una visualización del progreso.

sudo apt-get install pv en una ventana de terminal

El resultado esta vez es ligeramente diferente.

No recibimos una ETA. La barra de progreso ahora muestra un indicador en movimiento. Muestra que el proceso está activo, pero no crece de izquierda a derecha como una barra de progreso tradicional. pv simplemente muestra la información que puede extraer del proceso que se está transmitiendo.

Usando pv y tar para crear un archivo

Copiar archivos con pv Y tar no nos deja con un archivo comprimido. Se crea una especie de archivo "virtual". tarque se retroalimenta directamente a tar para extraer los archivos. Si nuestro objetivo es copiar archivos, esto es posible. Pero ¿qué pasa si queremos crear un archivo de almacenamiento?

Todavía podemos usar tar para crear un archivo de almacenamiento y del cual obtener un informe de progreso pv. Las opciones utilizadas con tar Soy -c (crear archivo), -z (comprimir con gzip) e -f (nombre del archivo comprimido).

Tenga en cuenta cuál estamos usando - como el nombre del archivo, lo que causa tar para usar stdout y escribir su salida en la ventana de terminal. No vemos esa salida porque está canalizada. pv.

El nombre real del archivo será el nombre del archivo desde el cual enviaremos el resultado. pv en. En este caso lo es "archivos-de-ayuda.tgz".

tar -czf - ./help-files/ | pv > help-files.tgz

sudo apt-get install pv en una ventana de terminal

Obtenemos los mismos indicadores de progreso que antes y se crea el archivo comprimido para nosotros.

sudo apt-get install pv en una ventana de terminal

Las opciones de visualización pv

Hay varias opciones que puedes usar con pv para editar los detalles de su informe.

Si utiliza una de estas opciones, todas las demás opciones aparecerán atenuadas. Entonces, si desea tener tres opciones de visualización en uso, debe especificar esas tres opciones.

Usando pv sin opciones equivale a usar el archivo -pterb opciones.

  • -p: muestra el porcentaje completo. Esta es la barra de progreso y el porcentaje completado.
  • -t: muestra el tiempo transcurrido.
  • -e: muestra ETA.
  • -r: muestra la velocidad de transferencia de datos.
  • -b: muestra el recuento de bytes (datos transferidos hasta el momento).
  • -n: muestra el porcentaje como un número entero. Esto imprime el porcentaje completado como una cifra entera, con cada nueva actualización en una nueva línea.

Repetimos el último comando y pasamos el archivo. -p (porcentaje completado) opción a pv.

tar -czf - ./help-files/ | pv - p > help-files.tgz

sudo apt-get install pv en una ventana de terminal

Esto desactiva todas las demás opciones de visualización. pv proporciona sólo el elemento porcentual completado.

Por qué pv no obtiene un porcentaje de finalización de tar, la barra de progreso se reemplaza por un indicador en movimiento. No hay una cifra porcentual.

sudo apt-get install pv en una ventana de terminal

Uso en planta baja con aseo.

Nosotros podemos usar pv en el que transmitir uno o más archivos de texto wc. wc luego contará retornos de carro, caracteres y palabras y pv nos proporcionará un informe de progreso.

Aquí estamos canalizando todos los archivos. ".página" en el directorio de archivos de ayuda wc.


      sudo apt-get install pv en una ventana de terminal    

Cuando wc Al final podemos ver el recuento de retornos de carro (líneas), caracteres y palabras de todos los archivos. ".página" en la carpeta de archivos de ayuda.

sudo apt-get install pv en una ventana de terminal

Instalación del comando de progreso

EL progress El comando proporciona el mismo tipo de información útil que pvpero funciona con un conjunto específico de comandos de Linux.

Instalar progress en Ubuntu, use este comando:

sudo apt-get install progress

Progreso de la instalación de sudo apt-get en una ventana de terminal

Instalar progress en Fedora, use este comando:

sudo dnf install progress

sudo dnf instala pv en una ventana de terminal

Instalar progress en Manjaro, use este comando:

sudo pacman -Syu progress

sudo dnf instala pv en una ventana de terminal

La progresión de comandos funciona con

Mecanografía progress en una ventana de terminal y presionando Enter le dará una lista de comandos que progress trabajar con.

progress

salida del comando de progreso en una ventana de terminal

Usando Progress con tubos

Hay dos técnicas que podemos utilizar para monitorear comandos. progress. La primera es utilizar tubos.

EL tar El comando está en la lista de comandos admitidos que progress puede monitorear, así que usémoslo tar.

Las opciones que utilizaremos son las estándar. -c (crear archivo), -z (comprimir con gzip) e -f opciones (nombre del archivo). Crearemos un archivo comprimido de todo lo que se encuentra en la carpeta de archivos de ayuda y se llamará el archivo "ayuda.tgz".

lo estamos poniendo progress y usando el -m (monitorear) opción como esta progress continúa informando sobre el proceso hasta su finalización.

tar -czf help.tgz ./help-files/ | progress -m

sudo apt-get install pv en una ventana de terminal

La ventana de terminal mostrará el progreso del tar comando mientras crea el archivo.

sudo apt-get install pv en una ventana de terminal

A medida que se procesa cada archivo, se enumera con la siguiente información:

  • La identificación del proceso.
  • El nombre del proceso.
  • Porcentaje completo.
  • Datos procesados ​​y tamaño total del archivo.
  • Velocidad de datos (rendimiento).
  • Tiempo restante estimado (ETA).

Quizás le sorprenda ver aparecer un segundo conjunto de datos. Este primer conjunto de datos es para tar. El segundo es para gzip. tar llamadas gzip para realizar la compresión. Por qué gzip está en la lista de comandos admitidos, progress lo informa.

Uso de Progress en modo de monitoreo continuo

puedes usar progress en modo de monitoreo continuo en tiempo real usando la opción -M (monitor).

Escriba el siguiente comando en una ventana de terminal:

progress -M

sudo dnf instala pv en una ventana de terminal

progress informará que no hay comandos en ejecución para monitorear. Pero no volverá a la línea de comando. progress espera hasta que se inicia un comando que puede monitorear. Luego comenzará a informar automáticamente al respecto.

sudo dnf instala pv en una ventana de terminal

En otra ventana de terminal, escriba un comando de la lista de comandos que pueden monitorear el progreso.

Usaremos cat. Los comandos que se ejecutan demasiado rápido no se registrarán progressentonces enumeraremos el contenido de un archivo de texto muy largo.

cat words.page

sudo dnf instala pv en una ventana de terminal

En la ventana de terminal con progress en él podrás ver las estadísticas del cat comando a medida que se ejecuta y trabaja hasta su finalización.

sudo apt-get install pv en una ventana de terminal

Cuando cat termina de enumerar el archivo progress vuelve al estado de espera.

Siempre que uno de los comandos sobre los que puede informar realiza una tarea considerable, progress lo monitoreará e informará automáticamente.

Es bastante bonito.

100% completo.

Elimine las conjeturas al preguntarse cómo va un comando de ejecución prolongada y tómese un descanso de contemplar el cursor con pv Y progress .

Subir Change privacy settings