Куда попадают файлы, синхронизированные с хостом?

Куда попадают файлы, синхронизированные с хостом?

Я случайно выполнил rsync .thunderbirdна user@hostвместо на user@host:/home/user.

Где .thunderbirdсейчас? Есть ли хороший способ поиска папки?

решение1

Он находится в каталоге, где вы запустили команду:

$ touch foo
$ ls -l foo bar@baz
ls: cannot access 'bar@baz': No such file or directory
-rw-rw-r-- 1 muru muru 0 May 30 16:53 foo
$ rsync -aP foo bar@baz
sending incremental file list
foo
              0 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/1)
$ ls -l foo bar
-rw-rw-r-- 1 muru muru 0 May 30 16:53 bar@baz
-rw-rw-r-- 1 muru muru 0 May 30 16:53 foo

Если вы сделали rsync .thunderbird user@host:и нет rsync .thunderbird user@host(обратите внимание на :), то каталог был скопирован в домашний каталог userна host(так что /home/userобычно излишне в user@host:/home/user). Без :, второй аргумент — это просто путь к целевому каталогу в локальной системе.

То же самое относится и к scp.

Обратите внимание, что это rsyncне удаляет исходные файлы, если вы не скажете ему это сделать. Поэтому .thunderbirdон все еще там, где был, и новая копия создается там, куда он был скопирован.

Также обратите внимание, что rsyncимеет разное поведение в зависимости от того, имел ли исходный каталог конечный /. Эти два варианта отличаются:

rsync -aP .thunderbird somewhere
rsync -aP .thunderbird/ somewhere

В первом случае .thunderbirdкопируется каталог somewhere, а во втором случаесодержаниекопируются .thunderbird(поэтому вы не увидите somewhere/.thunderbird, но если бы было .thunderbird/foo, вы бы увидели somewhere/fooвместо somewhere/.thunderbird/foo).

Связанный контент