Em resumo, você não encontrará a funcionalidade nativa cp
para a saída da barra de progresso. Por quê? Muitas razões . No entanto, você tem algumas opções:
-
Use uma ferramenta diferente.
rsync
, como mencionado por @ user1404316 tem--progress
:rsync -P largeFile copyLocation
-
Se você não precisar da semântica extra que o
cp
ersync
cuida, crie um novo arquivo compv
("Pipe Viewer") redirecionandostdout
:pv < largeFile > copyLocation
-
Se você precisar precisar da semântica extra, você pode usar
progress
, embora não dê a barra especificamente. Ele é anexado a processos já em execução , portanto, você o chamaria 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
-
Outra opção é
gcp
, que faz exatamente o que você solicitou com uma barra de progresso:gcp largeFile copyLocation
-
Outra opção abusa da capacidade de
curl
de processarfile://
urls:curl -o copyLocation file:///path/to/largeFile
-
Você pode escrever um script de shell