A veces, al copiar un archivo grande, como una película o una imagen del sistema operativo, el cp
El comando tarda más de lo esperado en función de la carga de su sistema. Dado que no indica el progreso de la operación, se vuelve difícil entender qué está sucediendo exactamente.
En escenarios como estos, un comando como cv
podría ser de gran ayuda, ya que no solo te permite saber el progreso de la operación, sino que también es capaz de mostrar el tiempo restante. En este artículo, discutiremos el comando junto con algunos ejemplos útiles.
Introducción
los cv
command es una utilidad que busca específicamente coreutils comandos básicos, como cp
, mv
, dd
, tar
, cat
, y más, actualmente en ejecución en su sistema y muestra su porcentaje de progreso. Aunque es específico de Linux, un Puerto MacOSX también está disponible.
Descargar e instalar
Para descargar e instalar el cv
comando, diríjase a su Repositorio Github y descargue el paquete fuente (el nombre del archivo descargado en mi caso era «cv-master.zip»). Una vez hecho esto, extraiga los archivos usando el siguiente comando:
Ingrese al directorio «cv-master» y ejecute los siguientes comandos para compilar el paquete e instalar el binario:
Tenga en cuenta que el cv
El comando depende de la biblioteca «ncurses», por lo que es posible que deba instalar los paquetes correspondientes, lo que se puede hacer ejecutando el siguiente comando:
sudo apt-get install ncurses-dev
Otro punto que vale la pena señalar es que después de la instalación, el binario entra en «/usr/local/bin», así que asegúrese de agregar la ruta al entorno de su sistema, de lo contrario, su shell no podrá encontrar el comando cuando ejecute eso. Una alternativa sería cambiar su directorio actual a “/usr/local/bin” y luego ejecutar el comando de la siguiente manera:
Uso
Aquí hay algunos ejemplos de cómo se puede usar este comando:
Nota: Todos los ejemplos presentados en este artículo se prueban en Ubuntu 14.04.
Un ejemplo básico
Desde el cv
El comando muestra el progreso de otros comandos que se están ejecutando, tiene que haber un comando que se ejecute durante el tiempo suficiente para que el cv
El comando podría mostrar cualquier cosa. Por ejemplo, traté de copiar un archivo enorme de mi pen-drive a mi caja de Linux, y como el cp
se ejecutó el comando, inmediatamente cambié a otra pestaña de shell y ejecuté el siguiente comando:
El comando mostró el siguiente resultado:
El primer campo en la salida es el PID del comando que se está monitoreando, seguido por el comando y el progreso en porcentaje y en números. Un punto que vale la pena señalar es que la primera línea en la salida del cv
dominio (cat inactive/flushing/streaming/...
) es el valor predeterminado: revisé el código y descubrí que la línea se imprime bajo ciertas condiciones, lo que aparentemente siempre se ve afectado (por ahora podemos ignorarlo).
Si se está ejecutando más de un comando, el cv
El comando muestra el progreso relacionado con todos ellos. Por ejemplo, aquí está la salida con dos comandos ejecutándose:
Obtenga un rendimiento de E/S estimado y ETA
Si bien es útil conocer el progreso de un comando, es aún más conveniente conocer otra información como el tiempo restante o la hora estimada de llegada. Para esto, el cv
comando ofrece la -w
opción de línea de comando.
Por ejemplo, cuando se ejecutó el siguiente comando:
se mostró el siguiente resultado:
[ 9287] cp /media/himanshu/F58B-9AA9/casper-rw 10.3% (105.2 MiB / 1 GiB) 27.9 MiB/s eta 0:00:32
Los dos últimos campos de la salida, que representan el rendimiento de E/S estimado y el ETA, significan que la operación de copia avanza a una velocidad de 27,9 MB por segundo y tardará 32 segundos en completarse.
Bucle el comando
Mientras usa el cv
comando, notará que muestra los detalles del progreso en ese instante y luego termina. Para asegurarse de que cv
no finaliza hasta que finaliza el comando que se está supervisando, utilice el -m
opción.
Esto asegurará que el cv
bucles de comando mientras los procesos monitoreados aún se están ejecutando.
Conclusión
los cv
El comando podría ser una ventaja para aquellos que se ocupan de la transferencia de archivos pesados u otras operaciones que consumen mucho tiempo en la línea de comandos de Linux. No hace falta decir que, al ser de código abierto, puede cambiar la forma en que interactúa y funciona haciendo cambios en su base de código, que es bastante pequeña y fácil de entender.
Alguna vez has usado cv
o cualquier otro comando similar? ¿Cómo fue tu experiencia? Comparta sus pensamientos en los comentarios a continuación.