En resumen, no encontrará cp
funcionalidad nativa para la salida de la barra de progreso. ¿Por qué? Muchas razones . Sin embargo, tienes algunas opciones:
Use una herramienta diferente. rsync
, como lo menciona @user1404316 tiene--progress
:
rsync -P largeFile copyLocation
Si no necesita la semántica adicional de la que se encargan cp
y rsync
, cree un nuevo archivo conpv
("Pipe Viewer" )redirigiendostdout
:
pv < largeFile > copyLocation
Si necesita la semántica adicional, puede usar progress
, aunque no proporciona la barra específicamente. Se adjunta a que ya está ejecutando procesos , por lo que lo invocaría como:
# In one shell
$ cp largeFile copyLocation
# In another shell
$ progress -m
[ 4714] cp /home/hunteke/largeFile
1.1% (114 MiB / 10.2 GiB) # -m tells progress to continually update
Otra opción es gcp
, que hace exactamente lo que solicitaste con una barra de progreso:
gcp largeFile copyLocation
Otra opción abusa de la capacidad de curl
para manejar file://
URL:
curl -o copyLocation file:///path/to/largeFile
Puede escribir un script de shell