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

So übertragen Sie Dateien zwischen zwei Computern mit den Befehlen nc und pv

Hallo Linux-Leser, ich bringe Ihnen einen weiteren großartigen Artikel aus unserer Reihe Linux-Tipps und Tricks. Dieses Mal werden wir zwei weniger bekannte Linux-Dienstprogramme verwenden, die Sie kennen sollten.

Dieser Artikel erklärt, wie Sie mit nc Dateien zwischen zwei Linux-Computern übertragen (Netzwerkdienstprogramm ) und pv (Pipe-Viewer )-Befehle, bevor Sie weitermachen, lassen Sie mich erklären, was diese beiden Befehle sind.

nc steht für Netcat und oft als „Schweizer Taschenmesser“ bezeichnet “ ist ein Netzwerktool, das zum Debuggen und Untersuchen von Netzwerken verwendet wird, und es wird auch zum Erstellen von Netzwerkverbindungen mit TCP oder UDP, Port-Scannen, Dateiübertragung und mehr verwendet. Es ist als zuverlässiges Backend konzipiert und wird speziell in Programmen und Skripten verwendet, da es fast jede Art von Netzwerkverbindung herstellen kann und über eine Reihe integrierter Funktionen verfügt.

PV Kurz gesagt, Pipe Viewer ist ein Terminal-basiertes Tool zur Überwachung des Fortschritts von Daten, die durch eine Pipeline gesendet werden. Es ermöglicht einem Benutzer, den Fortschritt von Daten mit einem Fortschrittsbalken zu sehen, zeigt die verstrichene Zeit, den abgeschlossenen Prozentsatz, die aktuelle Durchsatzrate, die übertragenen Gesamtdaten und die Schätzung an Zeit, den Vorgang abzuschließen.

Wie man den Datenfortschritt mit dem Befehl pv (Pipe Viewer) überwacht

Lassen Sie uns nun weiter gehen und sehen, wie wir beide Befehle kombinieren können, um Dateien zwischen zwei Linux-Computern zu übertragen. Für die Zwecke dieses Artikels werden wir zwei Linux-Computer wie folgt verwenden:

Machine A with IP : 192.168.0.4
Machine B with IP : 192.168.0.7

Hinweis: Ich rate dringend davon ab, netcat zu verwenden um Daten über ein öffentliches Netzwerk zu senden und zu empfangen, da es keine Anmeldungen oder Authentifizierung verwendet, die einzige Anforderung ist die Client-IP und die Nummer des Abhörports und das Senden von Daten über das Netzwerk ist nicht gesichert, daher ist es immer für fortgeschrittene Linux-Benutzer reserviert und vorzugsweise in einem geschützten lokalen Netzwerk verwendet werden.

In Situationen, in denen die Datensicherheit wichtiger ist, verwenden Sie immer rsync über SSH oder scp über SSH.

Beginnen wir nun mit einem wirklich einfachen Beispiel für nc und pv Befehle, aber vorher müssen beide Dienstprogramme auf dem System installiert werden, wenn nicht, installieren Sie sie mit Ihrem jeweiligen Distributionspaket-Manager-Tool wie vorgeschlagen:

# yum install netcat pv        [On RedHat based systems]
# dnf install netcat pv        [On Fedora 22+ versions]
# apt-get install netcat pv    [On Debian and its derivatives]

Wie übertrage ich Dateien zwischen zwei Linux-Rechnern?

Nehmen wir an, Sie möchten eine große Datei namens CentOS-7-x86_64-DVD-1503.iso senden von Computer A zu B über das Netzwerk, am schnellsten erreichen Sie dies mit nc ein Netzwerkdienstprogramm zum Senden von Dateien über ein TCP-Netzwerk, pv um den Fortschritt von Daten und tar zu überwachen Dienstprogramm zum Komprimieren von Daten, um die Übertragungsgeschwindigkeit zu verbessern.

Auf Linux-Rechner A

Melden Sie sich zuerst am Computer „A“ an ‘ mit der IP-Adresse 192.168.0.4 und führen Sie den folgenden Befehl aus.

# tar -zcf - CentOS-7-x86_64-DVD-1503.iso | pv | nc -l -p 5555 -q 5

Lassen Sie mich die im obigen Befehl verwendeten Optionen erläutern:

  1. tar -zcf =tar ist ein Dienstprogramm für Bandarchive, das zum Komprimieren/Dekomprimieren von Archivdateien und Argumenten -c verwendet wird erstellt eine neue .tar-Archivdatei, -f Geben Sie den Typ der Archivdatei und -z an Archiv durch gzip filtern.
  2. CentOS-7-x86_64-DVD-1503.iso =Geben Sie den Dateinamen an, der über das Netzwerk gesendet werden soll. Dies kann eine Datei oder ein Pfad zu einem Verzeichnis sein.
  3. pv =Pipe Viewer, um den Fortschritt der Daten zu überwachen.
  4. nc -l -p 5555 -q 5 =Netzwerktool zum Senden und Empfangen von Daten über TCP und Argumente -l verwendet, um auf eine eingehende Verbindung zu warten, -p 555 gibt den zu verwendenden Quellport und -q 5 an wartet die Anzahl der Sekunden und beendet sich dann.

Auf Linux-Rechner B

Melden Sie sich jetzt bei Maschine „B“ an ‘ mit der IP-Adresse 192.168.0.7 und führen Sie den folgenden Befehl aus.

# nc 192.168.1.4 5555 | pv | tar -zxf -

Das war's, die Datei wird auf Computer B übertragen , und Sie können sehen, wie schnell die Operation durchgeführt wurde. Es gibt unzählige weitere großartige Anwendungen von nc (noch nicht behandelt, werde aber bald darüber schreiben) und pv (wir haben hier bereits einen ausführlichen Artikel dazu behandelt) Befehle, wenn Sie ein Beispiel kennen, lassen Sie es uns bitte über Kommentare wissen!


Linux
  1. Übertragen Sie Dateien und Ordner sicher zwischen Computern mit Croc

  2. So konfigurieren Sie den SAMBA-Server und übertragen Dateien zwischen Linux und Windows

  3. So kopieren Sie Dateien sicher zwischen Linux-Hosts mit SCP und SFTP

  4. So übertragen Sie Dateien zwischen Servern in Linux mit SCP und FTP

  5. Wie kann man Dateien schnell und zuverlässig zwischen Linux und Android übertragen?

So sichern und wiederherstellen Sie Daten mit Restic unter Linux

So sichern und wiederherstellen Sie Dateien mit BorgBackup unter Linux

So sichern Sie Dateien und Verzeichnisse mit Rsync unter Linux

So übertragen Sie Dateien zwischen Dropbox und Google Drive mit Rclone unter Linux

So verbinden und teilen Sie Daten zwischen zwei Linux-Systemen

So löschen Sie Dateien und Verzeichnisse mit der Linux-Befehlszeile