Wissensdatenbank · Linux
SCP-Anleitung
Zuletzt aktualisiert am 2020-04-05
Wenn Sie in einer UNIX-Umgebung arbeiten und Dateien schnell und sicher kopieren möchten, empfehle ich die Verwendung von scp in der Befehlszeile. SSH und OpenSSH stellen die Anwendung scp bereit, mit der Sie sich mit Servern verbinden und Dateien übertragen können, auf denen ein verschlüsselter FTP-Dienst (SSH-Daemon) läuft. Wenn Sie eine grafische Anwendung für das X Window System suchen, probieren Sie gegebenenfalls http://gftp.seul.org/.
So funktioniert scp:
(Beachten Sie die Verwendung der Punkte; sie sind unbedingt erforderlich!!)
1) So kopieren Sie eine Datei von hostB nach hostA, während Sie auf hostB angemeldet sind:
[user@server ~]$ scp -P port filename username@hostA.com:.
(kopiert die Datei in das Home-Verzeichnis des Benutzers auf dem Rechner hostA, da nach dem Doppelpunkt ein Punkt steht)
2) Um einen Ordner von hostB nach hostA zu kopieren, wechseln Sie, während Sie auf hostB angemeldet sind, zunächst mit cd in das Verzeichnis auf HostB, das den zu kopierenden Ordner enthält:
[user@server ~]$ scp -r -P port folder username@hostA.com:.
(erstellt den Ordner neu, falls er nicht vorhanden ist, ebenfalls im Home-Verzeichnis des Benutzers)
3) Um eine Datei von hostA nach hostB zu kopieren, während Sie auf hostB angemeldet sind:
[user@server ~]$ scp -P port username@hostA.com:filename .
(kopiert in das aktuelle Verzeichnis auf hostB)
[user@server ~]$ scp -r -P port username@hostA.com:folder .
(kopiert den gesamten Ordner in das aktuelle Verzeichnis auf hostB)
4) Um eine Datei oder einen Ordner innerhalb eines Ordners von hostA nach hostB zu kopieren, während Sie auf hostB angemeldet sind:
[user@server ~]$ scp -P port username@hostA.com:/folder/dir/filename .
(kopiert in das aktuelle Verzeichnis auf hostB)
[user@server ~]$ scp -r -P port username@hostA.com:/folder/dir .
(kopiert den gesamten Ordner in das aktuelle Verzeichnis auf hostB)
5) Anstatt mit dem '.' festzulegen, dass Dateien in ein Home-Verzeichnis oder das aktuelle Arbeitsverzeichnis kopiert werden, können Sie scp einen tatsächlichen Pfad angeben (sofern Sie Schreibrechte besitzen):
[user@server ~]$ scp -r -P port folder username@hostA:/home/httpd/
[user@server ~]$ scp -P port username@hostA.com:/folder/dir/filename /home/tmp/
Setzt Ihr Hosting-Anbieter eine Ressourcenbeschränkung für SSH ein?
Stellen Sie einfach allen oben genannten Befehlen ein Präfix wie das folgende voran, um sie mit nice auszuführen
[user@server ~]$ nice -n +19
Sie können die Zahl 19 durch einen beliebigen Wert unterhalb des Ressourcenlimits Ihres Hosting-Anbieters ersetzen.
So funktioniert scp:
(Beachten Sie die Verwendung der Punkte; sie sind unbedingt erforderlich!!)
1) So kopieren Sie eine Datei von hostB nach hostA, während Sie auf hostB angemeldet sind:
[user@server ~]$ scp -P port filename username@hostA.com:.
(kopiert die Datei in das Home-Verzeichnis des Benutzers auf dem Rechner hostA, da nach dem Doppelpunkt ein Punkt steht)
2) Um einen Ordner von hostB nach hostA zu kopieren, wechseln Sie, während Sie auf hostB angemeldet sind, zunächst mit cd in das Verzeichnis auf HostB, das den zu kopierenden Ordner enthält:
[user@server ~]$ scp -r -P port folder username@hostA.com:.
(erstellt den Ordner neu, falls er nicht vorhanden ist, ebenfalls im Home-Verzeichnis des Benutzers)
3) Um eine Datei von hostA nach hostB zu kopieren, während Sie auf hostB angemeldet sind:
[user@server ~]$ scp -P port username@hostA.com:filename .
(kopiert in das aktuelle Verzeichnis auf hostB)
[user@server ~]$ scp -r -P port username@hostA.com:folder .
(kopiert den gesamten Ordner in das aktuelle Verzeichnis auf hostB)
4) Um eine Datei oder einen Ordner innerhalb eines Ordners von hostA nach hostB zu kopieren, während Sie auf hostB angemeldet sind:
[user@server ~]$ scp -P port username@hostA.com:/folder/dir/filename .
(kopiert in das aktuelle Verzeichnis auf hostB)
[user@server ~]$ scp -r -P port username@hostA.com:/folder/dir .
(kopiert den gesamten Ordner in das aktuelle Verzeichnis auf hostB)
5) Anstatt mit dem '.' festzulegen, dass Dateien in ein Home-Verzeichnis oder das aktuelle Arbeitsverzeichnis kopiert werden, können Sie scp einen tatsächlichen Pfad angeben (sofern Sie Schreibrechte besitzen):
[user@server ~]$ scp -r -P port folder username@hostA:/home/httpd/
[user@server ~]$ scp -P port username@hostA.com:/folder/dir/filename /home/tmp/
Setzt Ihr Hosting-Anbieter eine Ressourcenbeschränkung für SSH ein?
Stellen Sie einfach allen oben genannten Befehlen ein Präfix wie das folgende voran, um sie mit nice auszuführen
[user@server ~]$ nice -n +19
Sie können die Zahl 19 durch einen beliebigen Wert unterhalb des Ressourcenlimits Ihres Hosting-Anbieters ersetzen.
Tell us what you need
Compare available plans or describe your workload so we can discuss a suitable starting point.