A veces, al copiar un archivo grande, como una película o una imagen del sistema operativo, cp
El comando tarda más de lo esperado en función de la carga de su sistema. Dado que no informa el progreso de la operación, resulta 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 permite conocer el progreso de la operación, sino que también es capaz de mostrar el tiempo restante. En este artículo, analizaremos 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, que se está ejecutando actualmente en su sistema y muestra su porcentaje de progreso. Aunque es específico de Linux, un Puerto Mac OSX también está disponible.
Descargar e instalar
Para descargar e instalar el cv
comando, dirígete a su Repositorio de Github y descargue el paquete fuente (el nombre del archivo descargado en mi caso fue “cv-master.zip”). Una vez hecho esto, extraiga los archivos usando el siguiente comando:
unzip cv-master.zip
Ingrese al directorio «cv-master» y ejecute los siguientes comandos para construir el paquete e instalar el binario:
make make install
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 va a «/ usr / local / bin», así que asegúrese de que la ruta se agregue 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:
./cv
Uso
A continuación, se muestran algunos ejemplos de cómo se puede utilizar este comando:
Nota: Todos los ejemplos presentados en este artículo se probaron en Ubuntu 14.04.
Un ejemplo basico
Desde el cv
comando muestra el progreso de otros comandos que se están ejecutando, tiene que haber un comando que se ejecute el tiempo suficiente para que el cv
El comando podría mostrar cualquier cosa. Por ejemplo, intenté copiar un archivo enorme desde 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:
./cv
El comando mostró el siguiente resultado:
El primer campo en la salida es el PID del comando que se está monitoreando, seguido del comando y el progreso en porcentaje y números. Un punto que vale la pena señalar es que la primera línea en la salida del cv
comandocat inactive/flushing/streaming/...
) es el predeterminado: verifiqué el código y descubrí que la línea se imprime bajo ciertas condiciones, lo que aparentemente siempre se golpea (podemos ignorarlo por ahora).
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 en ejecución:
Obtenga un rendimiento de E / S y ETA estimados
Si bien es útil conocer el progreso de un comando, es aún más conveniente si conoce otra información como el tiempo restante o la hora estimada de llegada. Por esto, el cv
comando ofrece el -w
opción de línea de comando.
Por ejemplo, cuando se ejecutó el siguiente comando:
./cv -w
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 estimado de E / S y ETA, significan que la operación de copia progresa 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 termina hasta que finaliza el comando que se está monitoreando, use el -m
opción.
cv -m
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 un activo para aquellos que se ocupan de transferir 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 código base, que es bastante pequeño 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.