Kopieren Sie alle Dateien aus einem Remote-Verzeichnis
Dieser Artikel erläutert Methoden zum Kopieren von Dateien zwischen verschiedenen Hosts in einem Netzwerk. Darüber hinaus untersucht es den Befehl scp
und wie er zum Kopieren von Dateien von einem entfernten Standort verwendet wird.
den scp
-Befehl
Secure Copy Protocol (SCP) ist ein Netzwerkprotokoll, das sicher kopiert und das reibungslose Kopieren von Dateien und Ordnern zwischen Unix-kompatiblen Betriebssystemen erleichtert.
Der scp
-Befehl ist eine viel sicherere Variante des cp
-Befehls. Es verschlüsselt die Passwörter und die Dateien während des Remote-Kopierens über eine Secure Shell (SSH)-Verbindung und schützt so die Kommunikation vor Sniffing-Angriffen.
Verwenden Sie den folgenden Befehl, um weitere Informationen zu scp
zu erhalten.
man scp
Die Manpages (Kurzform von Manual Pages) sind ein Unix-Hilfsprogramm, das Informationen zu Systemaufrufen, Bibliotheksaufrufen, formalen Standards und Konventionen und sogar abstrakten Konzepten anzeigt. Da die Manpages zusammen mit dem Kernel heruntergeladen werden, benötigen sie keine Internetverbindung.
Kopieren Sie Dateien in Bash
Es gibt mehrere Möglichkeiten, Dateien in Bash zu kopieren, cp
, cat
, vim
(jeder Texteditor) und scp
sind nur einige der vielen Möglichkeiten, wie wir dies tun können. Der folgende Code untersucht Möglichkeiten zum Kopieren von Dateien in Bash.
1) cp <source file>.txt <destination file>.txt
2) cat 0<source_file.txt 1>destination_file.txt
3) cat <source_file.txt >destination_file.txt
Die erste Methode kopiert den Inhalt aus der Quelldatei und fügt ihn dann in die Zieldatei ein. Es ist wichtig zu beachten, dass cp
Inhalte in die Zieldatei einfügt, auch wenn diese nicht existiert.
Dies geschieht, da der Kernel automatisch die Zieldatei erstellt.
Die zweite Methode verwendet Konzepte, die Sie in Ihrem Betriebssystemkurs gelernt hätten. Rufen Sie die ppfdt
(Process File Descriptor Table) auf, der Dateideskriptor 0
zeigt auf die Tastatur (stdin
), der Dateideskriptor 1
zeigt auf den Monitor (stdout
) und der Dateideskriptor 2
zeigt auf den Monitor (stderror
).
Diese zweite Methode überschreibt den Deskriptor 0
, um auf die Quelldatei zu zeigen. Es überschreibt auch die stdout
, um auf die Zieldatei zu verweisen.
Verfahren drei ist dem zweiten Verfahren ähnlich, außer dass bei diesem Verfahren der Deskriptor 3
auf die Quelldatei zeigt, während der Deskriptor 4
auf die Zieldatei zeigt.
Bei beiden Methoden 2 und 3 wird aus der Quelldatei gelesen und in die Zieldatei geschrieben. Es ist wiederum wichtig zu beachten, dass der Kernel Inhalte in die Zieldatei einfügt, selbst wenn sie nicht existiert.
Dies liegt daran, dass der Kernel die Zieldatei automatisch erstellt.
Kopieren Sie Dateien sicher in Bash über Remote-Standorte hinweg
Die allgemeine Syntax für den Befehl scp
ist unten.
scp [option] [user_name@source_host:path/to/source/file] [user_name@target_host:destination/path]
Wenn wir keinen user_name
angeben, verwendet scp
standardmäßig den aktuellen Benutzer. Wenn Sie den Zielpfad ausschließen, berücksichtigt der Befehl scp
das Kopieren von der Quelle in den aktuellen lokalen Pfad.
Ebenso führt das Weglassen des Quellpfads dazu, dass der Befehl scp
den aktuellen lokalen Pfad als Quelle zum Kopieren der Dateien verwendet.
Wenn Sie in der Option -r
angeben, werden rekursiv alle Dateien und Unterverzeichnisse kopiert. Wenn Sie also Dateien kopieren möchten, geben Sie keine Option an. Es kopiert die Dateien, schließt aber die Unterverzeichnisse aus.
Der Vorteil von scp
gegenüber anderen Befehlen besteht darin, dass es viel sicherer ist, da es die Dateien verschlüsselt.