Я случайно выполнил 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
).