Antworten:
Eine reguläre Datei ist eine Datei, die kein Verzeichnis oder exotischere Arten von „speziellen“ Dateien wie Named Pipes, Geräten, Sockets, Türen usw. ist. Symbolische Verknüpfungen sind ebenfalls keine regulären Dateien, verhalten sich jedoch wie ihr Ziel, wenn sie vorhanden sind Eine Anwendung greift auf den Inhalt der Datei zu.
Sie haben root@IP:
als Quelle der Kopie und /path/to/picture.jpg
als Ziel übergeben. Die Quelle ist das Ausgangsverzeichnis des Benutzers root
auf dem Computer IP
. Dies ist nützlich als Ziel, aber nicht als Quelle. Was Sie eingegeben haben, ist erforderlich, um ein Verzeichnis in eine Datei zu kopieren. scp
Ein Verzeichnis kann nur kopiert werden, wenn Sie nach einer rekursiven Kopie mit der -r
Option gefragt werden (und es wird abgelehnt, eine vorhandene Datei mit einem Verzeichnis zu -r
überschreiben, wenn die Quelle eine reguläre Datei ist, wird jedoch eine reguläre Datei stillschweigend überschrieben).
Wenn /path/to/picture.jpg
es sich um den Pfad auf dem Remotecomputer der zu kopierenden Datei handelt, müssen Sie den Dateinamen an die Hostspezifikation halten. Es ist der Doppelpunkt :
, der den Hostnamen vom Remote-Pfad trennt. Sie müssen auch ein Ziel angeben.
scp root@IP:/path/to/picture.jpg /some/destination
Wenn Sie die lokale Datei /path/to/picture.jpg
auf den Remote-Host kopieren möchten , müssen Sie die Argumente austauschen. Unix-Kopierbefehle setzen die Quelle (n) an die erste Stelle und das Ziel an die letzte Stelle.
scp /path/to/picture.jpg root@IP:
Wenn Sie die entfernte Datei /path/to/picture.jpg
lokal an denselben Speicherort kopieren möchten , müssen Sie den Pfad wiederholen. Sie können dafür sorgen, dass Ihre Shell die Arbeit des Wiederholens für Sie erledigt (weniger Tippen, weniger Lesbarkeit).
scp root@IP:/path/to/picture.jpg /path/to/picture.jpg
scp {root@IP:,}/path/to/picture.jpg
Wenn Sie ein Verzeichnis kopieren, sollten Sie die folgende -r
Option verwenden:
scp -r root@IP:/path/to/file /path/to/filedestination
Syntaxproblem - Entfernen Sie den Leerraum zwischen
root @ IP:
und
/Pfad
scp
mehr.
not a regular file
-r
als scp-Argument verwenden.
scp root@IP:/path/to/file /path/to/filedestination
Der obige Befehl kopiert eine Datei vom Remote-Server auf Ihren Computer. Wenn Sie nur tippen scp root@IP:
, wird versucht, das Home-Verzeichnis von root (scp users home .
) zu kopieren .
Sie müssen also den genauen Pfad zur Datei angeben
Diese Fehlermeldung wird angezeigt, weil Sie versuchen, einen Ordner und keine Datei zu kopieren. Daher sollten Sie Ihre Dateien mithilfe der -r
Option rekursiv kopieren
Verwenden Sie den folgenden Befehl, wenn Sie Dateien vom Remote-Computer auf den lokalen Computer kopieren
scp -r root@RemoteIP:/path/to/file /path/to/filedestination
ODER
Beim Kopieren von Dateien vom lokalen Computer auf den Remotecomputer
scp -r /path/to/file root@RemoteIP:/path/to/filedestination
scp root@IP:/path/to/*.jpg /path/to/filedestination/
Dies wird funktionieren (zumindest auf meinem Mac)