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. )