¿Es posible mostrar una barra de progreso cuando se copian archivos en Terminal usando cp?
En cuanto a la velocidad, ¿qué es más rápido, rsync o cp?
¿Es posible mostrar una barra de progreso cuando se copian archivos en Terminal usando cp?
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.
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.
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.
#!/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..
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.
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í?