El GNU cp
y GNU mv
Las herramientas se utilizan para copiar y mover archivos y directorios en el sistema operativo GNU/Linux. Una característica que falta en estas dos utilidades es que no muestran ninguna barra de progreso. Si copia un archivo o directorio grande, realmente no sabe cuánto tardará en completarse el proceso de copia o el porcentaje de datos copiados. No verá qué archivo se está copiando actualmente o cuántos ya se copiaron. Todo lo que verá es solo el cursor parpadeante y el indicador LED del disco duro. Gracias a Copia avanzada , un parche para Gnu Coreutils
, ahora podemos agregar una barra de progreso a cp
y mv
comandos en Linux y muestra la barra de progreso al copiar y/o mover archivos y directorios grandes.
Advanced Copy es un mod para GNU cp
y GNU mv
programas Agrega una barra de progreso y brinda información sobre lo que sucede mientras copia o mueve archivos y carpetas. No solo la barra de progreso, también muestra la tasa de transferencia de datos, el tiempo restante estimado y el nombre del archivo que se está copiando actualmente. Al final, verá un breve resumen sobre cuántos archivos se copiaron y cuánto tiempo llevó copiar los archivos.
Instalar el parche 'Advanced Copy' para agregar una barra de progreso a los comandos cp y mv en Linux
Los comandos cp y mv son parte de GNU coreutils
. Por lo tanto, debe descargar las últimas GNU coreutils
desde aquí .
$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz
Extraiga el archivo descargado usando el comando:
$ tar xvJf coreutils-8.32.tar.xz
Este comando extraerá el archivo coreutils en una carpeta llamada coreutils-8.32
en el directorio actual. Cd en él:
$ cd coreutils-8.32/
Descargue el parche de copia avanzada usando el siguiente comando:
$ wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch
Finalmente, aplique el parche ejecutando los siguientes comandos uno por uno:
$ patch -p1 -i advcpmv-0.8-8.32.patch
$ ./configure
$ make
Ahora dos nuevos binarios parcheados, a saber, cp
y mv
se creará en el coreutils-8.32/src
carpeta. Simplemente cópielos en su $PATH como se muestra a continuación:
$ sudo cp src/cp /usr/local/bin/cp
$ sudo cp src/mv /usr/local/bin/mv
Eso es todo. El cp
y mv
los comandos tienen funcionalidad de barra de progreso ahora.
Siempre que desee una barra de progreso al copiar o mover archivos y directorios, simplemente agregue -g
marca como a continuación:
$ cp -g archlinux.iso mydownload/
O use --progress-bar
bandera:
$ cp --progress-bar archlinux.iso mydownload/
Salida de muestra:
Copying at 25.7 MiB/s (about 0h 0m 1s remaining)
archlinux.iso 568.1 MiB / 646.0 MiB
[=========================================================================> ] 87.9 %
Al final del proceso de copia, verá cuántos archivos se copiaron, cuánto tiempo llevó copiar los archivos y la tasa de transferencia de datos por segundo. Bonito, ¿no?
1 files (646.0 MiB) copied in 11.8 seconds ( 54.7 MiB/s).
Para copiar un directorio y sus subdirectorios de forma recursiva, simplemente agregue -R
bandera:
$ cp -gR directory1/ directory2/
De manera similar, para mover archivos usando mv
comando, ejecutar:
$ mv -g archlinux.iso mydownload/
O use --progress-bar
bandera:
$ mv --progress-bar archlinux.iso mydownload/
Para mover directorios con mv
comando, use:
$ mv -g directory1/ directory2/
También puede crear alias para guardar algunas pulsaciones de teclas. Para hacerlo, edite ~/.bashrc
archivo:
$ nano ~/.bashrc
Agregue las siguientes líneas al final:
alias cp='/usr/local/bin/cp -gR'
alias mv='/usr/local/bin/mv -g'
Presiona Ctrl+o
y Ctl+x
para guardar y cerrar el archivo.
Ahora ejecute el siguiente comando para tomar efecto en los cambios:
$ source ~/.bashrc
De ahora en adelante, solo puedes usar cp
o mv
comandos sin -g
(o --progress-bar
) bandera.
Tenga en cuenta que los programas originales no se sobrescriben. Todavía puedes llamarlos en cualquier momento a través de /usr/bin/cp
o /usr/bin/mv
.
Agregando la funcionalidad de la barra de progreso a cp
y mv
commands es una buena idea si a menudo copia o mueve muchos archivos y directorios grandes. Ahora puede ver qué está pasando exactamente mientras copia y mueve archivos, en lugar de mirar la pantalla.
El autor original envió el parche al equipo, que mantiene GNU CoreUtils. No fusionarán este parche, porque mv y cp tienen funciones completas.