Por que adicionar uma barra depois de um destino rsync?

9

De acordo com esta página da Web, adicionar '/' ao final de um destino de rsync produz um resultado diferente de não adicionando-o.

Eu tentei testar isso, mas não posso confirmá-lo:

$ mkdir dir{1..3}
$ touch dir1/file
$ rsync -r dir1/ dir2
$ rsync -r dir1/ dir3/
$ ls dir*
dir1:
file

dir2:
file

dir3:
file

A adição de um '/' ao destino realmente tem uso às vezes?

    
por EmmaV 04.11.2017 / 22:57

1 resposta

21

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ópia de file dentro de um diretório dest , enquanto
  • $ rsync file dest fará uma cópia do arquivo file chamado dest

Para adicionar (dos comentários); se um diretório dest já existir, uma cópia file será criada em dest nos dois casos acima.

Exemplo básico:

~/test > touch file
~/test > mkdir dest1
mkdir: created directory 'dest1'
~/test > tree
.
├── dest1
└── file

1 directory, 1 file
~/test > rsync file dest1
~/test > rsync file dest2
~/test > rsync file dest3/
~/test > tree
.
├── dest1
│   └── file
├── dest2
├── dest3
│   └── file
└── file

2 directories, 4 files
~/test >
    
por 04.11.2017 / 23:10

Tags