45 votos

¿Mostrará Terminal una barra de progreso cuando copie con "cp"?

¿Es posible mostrar una barra de progreso cuando se copian archivos en Terminal usando cp?

3 votos

También podría considerar el uso de rsync en su lugar.

0 votos

¿Hay alguna manera de hacer esto con una barra de progreso general sin instalar ninguna herramienta de terceros? ¿Tal vez un script o algo así?

66voto

Mykroft Puntos 4292

Puedes utilizar rsync en su lugar.

rsync --progress /copy/from /copy/to

1 votos

En cuanto a la velocidad, ¿qué es más rápido, rsync o cp?

0 votos

Si todos los archivos que se copian no existen en el destino no creo que haya una diferencia notable. Si algunos de los archivos existen en el destino, entonces variará porque rsync hace algunas comprobaciones. Rsync normalmente (pero no siempre) será más rápido en ese caso.

4 votos

Utilizando rsync -P /copy/from /copy/to equivale a rsync --partial --progress /copy/from /copy/to que mostrará el progreso de la copia, así como reanudar la transferencia si se desconecta.

44voto

Byrån Puntos 588

Durante cp , CtrlT muestra el porcentaje actual (al menos en MacOS)

2voto

Franz Puntos 1

Si estás copiando archivos o directorios grandes usando cp, puedes abrir el 'Monitor de Actividad', ir a la pestaña 'Disco' y buscar el proceso 'cp'. Aquí puedes hacer un seguimiento de cuántos bytes se han escrito desde el último arranque, dándote una idea aproximada del progreso. (OS X 10.10).

Espero que eso ayude.

0voto

JFV Puntos 701
#!/bin/sh
   strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
      | awk '{
        count += $NF
            if (count % 10 == 0) {
               percent = count / total_size * 100
               printf "%3d%% [", percent
               for (i=0;i<=percent;i++)
                  printf "="
               printf ">"
               for (i=percent;i<100;i++)
                  printf " "
               printf "]\r"
            }
         }
         END { print "" }' total_size=$(stat -c '%s' "${1}") count=0

No es perfecto, pero funciona... pon eso en una ruta de directorio y ponle un nombre parecido..

0 votos

Espera... ¿cómo hago para que funcione?

2 votos

No recuerdo si OS X tenía un strace comando en el momento en que se escribió esta respuesta (julio de 2011), pero definitivamente no lo hace hoy.

0 votos

¿Alguna idea de cómo ejecutar esto en MacOS?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X