scp -r não mostra barra de progresso mas dá uma percentagem de cada arquivo
spyderman4g63
Respostas:
92
Eu não acho que isso possa ser feito scp. A última vez que precisei de algo assim, isto é, o progresso mostrado, usei rsync. Ele mostra o progresso de maneira semelhante a um bar. Veja se isso funciona para você.
Você precisará usar a --progressopção de rsync. Você pode usar o seguinte comando:
Eu ia postar algo semelhante, mas quando o testei, acabei de receber 2741851 0% 700.39kB/s 0:17:21e nenhuma barra de progresso gráfico (o que acho que o OP quer).
Oli
1
@ Oli: Eu acho que é porque você está copiando um arquivo muito pequeno. A cópia termina antes que o rsync possa mostrar o progresso. Se você copiar um arquivo maior, deverá obter uma barra de progresso.
binW
1
Para quem estava procurando cp com barra de progresso, o rsync funciona muito bem localmente, então isso também responde a essa pergunta! (Just deixar de fora o -e ssh user@remote-system:para uma cópia local e man rsyncexplica as muitas, muitas opções)
sage
1
Se você deseja conectar-se a uma porta SSH diferente da padrão, use algo comorsync -avz --progress -e 'ssh -p 1223' [email protected]:/foobar.txt ./my-local-copy.txt
damd 23/08/16
4
por que usar rsync enquanto você só precisa adicionar -vascp
Essa deve ser a resposta correta! por que se preocupar e instalar rsync
Samir Sabri
3
Parece não funcionar ao usar -3.
fuero
1
@fuero man scp: " -3Cópias entre dois hosts remotos são transferidas através do host local. Sem essa opção, os dados são copiados diretamente entre os dois hosts remotos. Observe que essa opção desativa o medidor de progresso. "
The Guy with The Hat
4
Não sei como fazer isso em uma linha de comando. Tenho certeza de que é possível, mas existe um método gráfico para fazer isso.
O Nautilus (o navegador de arquivos padrão no Ubuntu) pode montar servidores ssh / sftp. Eles agem como um sistema de arquivos local depois disso e você pode copiar arquivos como faria normalmente. E você obtém a barra de progresso usual que obteria com uma cópia normal.
Respostas:
Eu não acho que isso possa ser feito
scp
. A última vez que precisei de algo assim, isto é, o progresso mostrado, useirsync
. Ele mostra o progresso de maneira semelhante a um bar. Veja se isso funciona para você.Você precisará usar a
--progress
opção dersync
. Você pode usar o seguinte comando:fonte
2741851 0% 700.39kB/s 0:17:21
e nenhuma barra de progresso gráfico (o que acho que o OP quer).-e ssh user@remote-system:
para uma cópia local eman rsync
explica as muitas, muitas opções)rsync -avz --progress -e 'ssh -p 1223' [email protected]:/foobar.txt ./my-local-copy.txt
rsync
enquanto você só precisa adicionar-v
ascp
O
-v
interruptor funciona bem.Exemplo:
fonte
-3
.man scp
: "-3
Cópias entre dois hosts remotos são transferidas através do host local. Sem essa opção, os dados são copiados diretamente entre os dois hosts remotos. Observe que essa opção desativa o medidor de progresso. "Não sei como fazer isso em uma linha de comando. Tenho certeza de que é possível, mas existe um método gráfico para fazer isso.
O Nautilus (o navegador de arquivos padrão no Ubuntu) pode montar servidores ssh / sftp. Eles agem como um sistema de arquivos local depois disso e você pode copiar arquivos como faria normalmente. E você obtém a barra de progresso usual que obteria com uma cópia normal.
Procure no
File
menu porConnect to server...
fonte
A partir de 2018, o progresso e a ETA são mostrados por padrão e podem ser desativados por
-q
fonte