Eu preferiria usar rsync
. É mais simples de lembrar, porque, como você mostra, as opções mais comuns correspondem à sintaxe de cp
.
Tecnicamente rsync
pode não estar instalado em alguns sistemas em que scp
está disponível. No entanto, os recursos de rsync
são super úteis. Como resultado, ele será normalmente instalado e é útil para praticar usando-o.
Para casos como o que você mostra, às vezes você pode querer usar rsync --delete
. Isso é útil até mesmo para arquivos locais ( cp
não possui a opção --delete
). No entanto, também é super perigoso. Quando você escreve um comando rsync --delete
, você deve sempre executá-lo primeiro no modo -n
, para ver o que ele fará sem realmente fazê-lo.
(É particularmente perigoso porque o rsync interpreta /
na origem como significando algo diferente para todos os outros (mais semelhante ao trailing /.
), e conclusão do caminho com a tecla TAB incluirá automaticamente o% arrastado/
Se o caminho for um diretório, isso pode causar problemas mesmo sem --delete
, sobrescrevendo os arquivos errados ou bagunçando o diretório errado com arquivos que não fazem sentido.Eu suponho que o comportamento do rsync seja anterior ao uso disseminado da conclusão do caminho. )