GNU/Linux >> LINUX-Kenntnisse >  >> Linux

10 praktische Beispiele für die Verwendung des scp-Befehls

Sie kennen wahrscheinlich bereits den cp-Befehl in Linux, der zum Kopieren von Dateien in Linux verwendet wird. Der cp-Befehl kann nur auf dem lokalen Rechner verwendet werden.

Aber was ist mit dem Kopieren von Dateien von einem entfernten Linux-System? Um Dateien von einem entfernten Server oder zu einem entfernten Server zu kopieren, können Sie einen Befehl namens scp.

verwenden
Trivia:scp ist eine Kurzform für Secured Copy.

scp-Befehlssyntax

Die Syntax und die Verwendung des scp-Befehls ähneln dem cp-Befehl und Sie werden ihn in Kürze in diesen scp-Befehlsbeispielen sehen.

Aber zuerst werfen wir einen Blick auf die Syntax des scp-Befehls:

scp <options> source_path destination_path

Je nach Herkunft der zu kopierenden Datei kann die Quelle entweder Client oder Server sein. Wenn die Quelle der Client ist, dann ist das Ziel der Server und umgekehrt.

Aber das klingt zu einfach, oder? Das Hauptaugenmerk des scp-Befehls liegt auf der Verwendung des richtigen Formats für das Quell- oder Zielpfadformat.

Ein typischer Pfad zu einer Datei oder einem Verzeichnis auf dem Server wird in diesem Format dargestellt:

<username>@<ip_address_of_system>:<path_to_the file/directory>

Eigentlich können Sie auch [email protected] im scp-Befehl verwenden, aber es ist wahrscheinlicher, dass Sie am Ende mit einem Fehler „Hostname konnte nicht aufgelöst werden “.

Dies liegt daran, dass die Korrelation des Hostnamens mit der IP-Adresse von der Netzwerkkonfiguration des Netzwerks des Servers abhängt. Die Verwendung der tatsächlichen IP-Adresse erspart Ihnen die Mühe.

Dinge, die Sie beachten sollten, bevor Sie den scp-Befehl verwenden

Hier sind ein paar Dinge, die Sie benötigen, bevor Sie den scp-Befehl auf Ihrem Linux-System verwenden können:

  • Stellen Sie sicher, dass ssh sowohl auf Client- als auch auf Server-Rechnern installiert ist und ausgeführt wird, da der Befehl scp intern ssh verwendet. Wenn ssh nicht installiert ist, installieren Sie es mit dem Befehl „sudo apt install ssh“ auf Debian-basierten Maschinen oder mit entsprechenden Paketmanagern Ihrer Distribution.
  • Sie müssen den Benutzernamen und das Passwort des Remote-Systems kennen. Sie werden aufgefordert, das Kennwort des Remote-Hosts einzugeben. Ihre Dateiübertragung beginnt nur wenn Sie das richtige Passwort des Remote-Hosts eingeben.

Verwendung des scp-Befehls unter Linux:10 praktische Beispiele

Nachdem wir nun die Syntax des scp-Befehls und das Format zur Angabe des Pfads zum Server gesehen haben, wollen wir nun sehen, wie der scp-Befehl verwendet wird.

1. Kopieren einer Datei auf das entfernte System mit dem scp-Befehl

Um eine einzelne Datei vom lokalen Rechner auf den Remote-Host zu kopieren, geben Sie den Pfad zu der Datei als Quellpfad und den Pfad auf dem Remote-Host an, wohin die Datei kopiert werden soll.

scp abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

2. Kopieren einer Datei vom entfernten System mit dem scp-Befehl

Das Kopieren einer Datei vom Remote-System auf das lokale System ist ziemlich gleich. Sie müssen nur den vollständigen Pfad zur Datei auf dem Remote-System und den Pfad auf dem lokalen System angeben.

Um also eine Datei vom entfernten System in das aktuelle Verzeichnis zu kopieren, verwenden Sie einfach den Befehl auf folgende Weise:

scp [email protected]<ip_address_of_xyz>:/remote/user/home/abc.txt .

3. Kopieren mehrerer Dateien mit dem scp-Befehl

Um mehrere Dateien vom lokalen Rechner auf den Host zu kopieren, geben Sie einfach den Namen der Dateien als Quellpfad an.

scp abc.txt def.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

4. Kopieren eines ganzen Verzeichnisses mit dem scp-Befehl

Das Kopieren eines Verzeichnisses mit scp entspricht ebenfalls dem cp-Befehl. Sie können die Option -r verwenden und den Namen des Ordners als Quellpfad angeben. Dies wird als rekursiver Modus bezeichnet.

scp -r ~/Desktop/test [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

Sie können auch mehr als ein Verzeichnis angeben und alle in einem einzigen Befehl kopieren.

5. Siehe die Dateiübertragungsdetails in der Ausgabe

Wenn Sie wissen möchten, was beim Kopieren hinter den Kulissen passiert, können Sie die Option -v verwenden, um alle ausgeführten Prozesse anzuzeigen, einschließlich Debugging, Exit-Status, Verschlüsselung, Entschlüsselung usw. Dies wird als ausführlicher Modus bezeichnet.

scp -v abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

6. Kopieren von Dateien über zwei entfernte Hosts

Bisher haben Sie gesehen, wie Sie von einem lokalen Computer auf einen Remote-Computer kopieren.
Um Dateien von einem Remote-Computer auf einen anderen Remote-Computer zu kopieren, geben Sie die Pfade sowohl der Quelle als auch des Ziels im Format des Remote-Computers wie oben beschrieben an.

scp [email protected]<ip_address_of_abc>:<path_of_file_or_folder> [email protected]<ip_address_of_xyz>:<path_of_file_or_folder

Unnötig zu erwähnen, dass Sie hier das Passwort beider Systeme kennen müssen.

7. Komprimiertes Kopieren von Dateien [reduziert die Übertragungszeit]

Wenn Sie versuchen, mehrere Dateien zusammen zu kopieren, dauert dies länger als die Übertragung einer einzelnen Datei, deren Größe der Summe aller einzelnen Dateien entspricht.

Wenn Sie das Gefühl haben, dass Sie die Geschwindigkeit der Dateiübertragung erhöhen müssen, können Sie die Dateien mit der Option -C komprimieren und die Dateien übertragen.

Das Beste ist, dass die Komprimierung nur während der Übertragung erfolgt. Sobald die Übertragung abgeschlossen ist, werden die Dateien in ihrer ursprünglichen Form gespeichert. Sie sehen keine Archivdatei, sondern alle einzelnen Dateien, wie sie auf dem Remote-Server waren.

scp -C abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

8. Begrenzung der Bandbreite der Dateiübertragung

Wenn Sie der Meinung sind, dass die Übertragung von Dateien die meiste Bandbreite verbraucht, können Sie die Bandbreite der Dateiübertragung mit der Option -l gefolgt von der neuen Bandbreitenrate reduzieren.

scp -l 800 abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

Beachten Sie, dass die Bandbreite, die Sie im Befehl angeben, in Kilobit pro Sekunde angegeben ist, aber während der Übertragung der Dateien zeigt die Ausgabe des scp-Befehls die Übertragungsrate in Kilobyte pro Sekunde an.

Da 1 Byte =8 Bit, werden die 8300 Kilobit pro Sekunde im Befehlsparameter zu 100 Kilobyte pro Sekunde in der Befehlsausgabe.

9. Beibehaltung der ursprünglichen Attribute der kopierten Dateien

Wenn Sie die ursprünglichen Dateiattribute wie Dateiberechtigungen und -besitz, Dateizeitstempel usw. beibehalten müssen, verwenden Sie die Option -p.

scp -p abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

10. Ausblenden der Ausgabe des scp-Befehls

Wenn Sie mit der langen Ausgabe des Befehls scp nicht zufrieden sind, können Sie die Ausgabe des Befehls vermeiden, indem Sie die Option -q verwenden. Dies wird als Ruhemodus bezeichnet.

Es verbirgt sogar den Fortschritt beim Kopieren von Dateien.

scp -q abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

In den obigen Beispielen haben Sie gesehen, wie die Dateien vom lokalen Rechner auf den Remote-Host kopiert werden. Wenn Sie Dateien vom Remote-Host auf den lokalen Computer kopieren müssen, schreiben Sie den Pfad der Datei/des Ordners, der vom Remote-Host kopiert werden soll, als Quellpfad und den Pfad, in den die Datei/der Ordner auf dem lokalen Computer eingefügt werden muss, als Ziel Pfad.

Weitere Einzelheiten zum scp-Befehl finden Sie auf seiner Manpage.

Ich hoffe, Sie haben jetzt verstanden, wie Sie den scp-Befehl optimal nutzen, um Dateien sicher zwischen Computern zu kopieren. Persönlich bevorzuge ich die Verwendung des rsync-Befehls gegenüber scp, da rsync mehr Funktionen hat.

Wenn Sie auf Probleme stoßen, können Sie im Kommentarbereich unten Fragen stellen. Und wenn Sie einen anderen großartigen scp-Befehlstipp kennen, teilen Sie ihn hier mit dem Rest von uns.


Linux
  1. 10 praktische Grep-Befehlsbeispiele für Entwickler

  2. cp-Befehl unter Linux:7 praktische Beispiele

  3. Linux-Shutdown-Befehl:5 praktische Beispiele

  4. nslookup-Befehl:7 praktische Beispiele

  5. 5 praktische Beispiele des dd-Befehls unter Linux

12 praktische Beispiele für In Command unter Linux

Die 50 praktischen Beispiele des SED-Befehls in Linux

15 Praktische Beispiele für den Rsync-Befehl unter Linux

5 praktische Beispiele für Tail-Befehle unter Linux

Echo-Befehl unter Linux:7 praktische Beispiele

Praktischer Ping-Befehl in Linux-Beispielen