Ich habe versehentlich .thunderbird
zu user@host
statt zu synchronisiert user@host:/home/user
.
Wo ist .thunderbird
jetzt Gibt es eine gute Möglichkeit, nach dem Ordner zu suchen?
Es befindet sich in dem Verzeichnis, in dem Sie den Befehl ausgeführt haben:
$ 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
Wenn Sie dies getan haben rsync .thunderbird user@host:
und nicht rsync .thunderbird user@host
(beachten Sie das :
), wurde das Verzeichnis in das Ausgangsverzeichnis von user
on kopiert host
( /home/user
wäre also normalerweise redundant in user@host:/home/user
). Ohne das :
ist das zweite Argument nur der Pfad zu einem Zielverzeichnis auf dem lokalen System.
Gleiches gilt für scp
.
Beachten Sie, dass rsync
Quelldateien nur gelöscht werden, wenn Sie dazu aufgefordert werden. So .thunderbird
ist es immer noch, wo es war, und eine neue Kopie wird erstellt, wo immer es kopiert wurde.
Beachten Sie auch, dass rsync
das Verhalten unterschiedlich ist, je nachdem, ob das Quellverzeichnis ein Trailing aufweist /
. Diese beiden sind unterschiedlich:
rsync -aP .thunderbird somewhere
rsync -aP .thunderbird/ somewhere
Im ersten Fall wird das .thunderbird
Verzeichnis kopiert somewhere
, im zweiten Fall wird der Inhalt von .thunderbird
kopiert (so dass Sie nicht sehen somewhere/.thunderbird
, aber wenn es ein gibt .thunderbird/foo
, würden Sie somewhere/foo
statt sehen somewhere/.thunderbird/foo
).
user@host
vielleicht ein anderer Laptop, aber ohne:
,rsync
behandelt es als Namen für das lokale System. Welchen Befehl haben Sie genau ausgeführt ?.thunderbird
wurde in ein Verzeichnis mit dem Namen kopiert,[email protected]
in dem Sie den Befehl ausgeführt haben.