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
cpersynccuida, 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
curlde processarfile://urls:curl -o copyLocation file:///path/to/largeFile -
Você pode escrever um script de shell