Usando rsync :
rsync -av --delete source/ target
Isso excluiria todo o conteúdo do diretório target que não corresponde ao conteúdo do diretório source e também copiaria o conteúdo de source .
O / final no final de source/ é significativo, pois sem ele você obteria um diretório em target/source em vez de tornar target uma cópia de source .
A opção -a (ou --archive ) torna rsync copiar registros de data e hora e outros metadados, e a opção -v (ou --verbose ) faz com que rsync opere com detalhes. Sem --delete , nenhum conteúdo existente em target seria excluído (a menos que tivesse o mesmo nome que as coisas em source , caso em que seria atualizado).