GNU/Linux >> Tutoriales Linux >  >> Linux

Copia avanzada:agregue la barra de progreso a los comandos cp y mv en Linux

El GNU cpGNU 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 cpGNU 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/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.

Nota:

El autor original envió el parche al equipo, que mantiene GNU CoreUtils. No fusionarán este parche, porque mv y cp tienen funciones completas.


Linux
  1. Cómo deshabilitar los comandos de apagado y reinicio en Linux

  2. Comandos de Linux:trabajos, bg y fg

  3. 20 comandos de Linux de una línea para agregar a su caja de herramientas

  4. Ejecución de comandos de Linux en segundo plano y en primer plano

  5. Comandos de reinicio y apagado de Linux

Comandos Pushd y Popd en Linux

Cómo agregar comandos de Linux a la cola y ejecutarlos uno por uno

Cómo usar los comandos Pbcopy y Pbpaste en Linux

5 divertidos comandos para usar en Linux y Terminal

40 Ejemplo Práctico y Productivo de Comandos Linux df

Comandos Zip y Unzip en Linux/Unix