De acordo com esta página da web, adicionar '/' ao final de um destino rsync produz um resultado diferente de não adicioná-lo.
Eu tentei testar isso, mas não posso verificar:
$ mkdir dir{1..3}
$ touch dir1/file
$ rsync -r dir1/ dir2
$ rsync -r dir1/ dir3/
$ ls dir*
dir1:
file
dir2:
file
dir3:
file
Às vezes, acrescentar um '/' ao destino é útil?
A trailing slash on the source changes this behavior to avoid creating an additional directory level at the destination.
:? Nesse caso, observe como o seu comando não é nada parecido com o do exemplo dado na página de manual.rsync -r dir1/subdir1 dir2/
ele irá copiar o conteúdo desubdir1
dentrodir2
, mas se você fezrsync -r dir1/subdir1/ dir2/
isso irá copiar o diretório inteiro (incluindo conteúdos)subdir1
paradir2
assim que você teria./dir2/subdir1/
Respostas:
Faz diferença quando a origem é um arquivo e o diretório de destino não existe. Por exemplo, pegue um arquivo chamado
file
como fonte:$ rsync file dest/
criará uma cópiafile
dentro de um diretóriodest
, enquanto$ rsync file dest
fará uma cópia do arquivofile
chamadodest
Para adicionar (dos comentários); se um diretório
dest
já existir, uma cópiafile
será criadadest
nos dois casos acima.Exemplo básico:
fonte
dest
já existe, não há necessidade da barra final?dest
existir um diretório , uma cópiafile
será criada dentro dos dois casos.