So senden Sie eine Datei über FTP von der Konsole unter Linux

Heute werden wir über eine dieser kleinen Aufgaben sprechen, die uns dem Linux-Terminal ein Stück näher bringen und die uns noch einmal die großartige Funktionalität davon zeigt. Wir zeigen Ihnen ein vollständiges Tutorial zum Hochladen oder Senden einer Datei über FTP von der Kommandokonsole unter Linux .

Wir wissen, dass der Umgang mit der Konsole keine der beliebtesten Aufgaben von Benutzern ist, die sich zum ersten Mal dem Linux-Universum nähern, aber dieses Tutorial eignet sich für alle Arten von Benutzern, sowohl für Neueinsteiger als auch für Fortgeschrittene. Für unsere Tests haben wir eine Ubuntu Server-Distribution verwendet, auf die wir über SSH mit PuTTY zugreifen, obwohl das hier Gesagte auch für andere Linux-Distributionen gilt.

Wenn Sie ein fortgeschrittener Benutzer sind, müssen Sie nicht die gesamte Erklärung lesen und benötigen nur den folgenden Befehl:

 ftp -n <<EOF open ftp.ejemplo.com user usuario contraseña put archivo.tar.gz EOF 

So senden Sie eine Datei über FTP von der Konsole unter Linux.

In diesem ersten Teil des Tutorials wird gezeigt, wie Sie eine Datei über FTP von der Konsole aus senden können, ohne zusätzliche Anwendungen oder Tools zu installieren. Dafür verwenden wir den ftp Befehl, den wir standardmäßig zur Verfügung haben.

Mit dem Befehl ftp können Benutzer mit FTP-Servern interagieren und Remoteserver-Dateien verwalten. In diesem Tutorial werden nicht alle verfügbaren Befehle gesammelt, sondern nur diejenigen, die zum Hochladen einer Datei auf den FTP-Server erforderlich sind.

Wir werden Schritt für Schritt den gesamten Prozess beschreiben, mit den notwendigen Erläuterungen, um etwas zu lernen und nicht nur einen Befehl zu kopieren und in das Terminal einzufügen.

Zuerst stellen wir die Verbindung zum FTP-Server her , dazu verwenden wir den Befehl:
ftp -np ftp.ejemplo.com

In diesem Befehl sehen wir, dass wir die -np Optionen verwenden, die bedeuten:

  • -n : Verhindert die automatische Authentifizierung beim Verbindungsaufbau. Auf diese Weise müssen Sie den Benutzernamen und das Passwort manuell eingeben.
  • -p : Verwendet den passiven Modus für Dateiübertragungen. Dies ist nützlich, wenn sich der FTP-Server hinter einer Firewall befindet, der Remote-Server jedoch den passiven Modus unterstützen muss.
See also  So löschen Sie den Verlauf des Terminals oder der Konsole unter Linux

Das einzige, was für diesen ersten Befehl noch zu analysieren ist ejemploftp.com ist ejemploftp.com der Host des FTP-Servers. In einigen Fällen kann es sich um eine IP-Adresse handeln, in anderen um einen Domainnamen.

Wenn nach Ausführung dieses Befehls alles geklappt hat, werden wir mit dem FTP-Server in den interaktiven Modus wechseln und können die erforderlichen Befehle zum Hochladen der Datei senden.

Zunächst müssen wir uns mit einem Benutzernamen und einem Passwort authentifizieren , da unser FTP-Server dies erfordert. Zur Authentifizierung verwenden wir den Befehl:
ftp> user usuario contraseña

In diesem Befehl sehen wir, dass es drei Teile gibt:

  • user : ist der FTP-Befehl, der die Authentifizierung eines Benutzers anfordert.
  • usuario : Der Benutzername, mit dem wir uns auf dem Remote-Server authentifizieren.
  • contraseña : Das dem Benutzernamen entsprechende Passwort.

Wenn wir mit dem Benutzer Anonymous ohne Kennwort eingeben möchten , können wir das Kennwort weglassen , sodass der Befehl lautet:
ftp> user usuario

An dieser Stelle verwenden wir den FTP-Befehl put , um die Datei zu senden :
ftp> put /tmp/backup.tar.gz /backups/backup_copy.tar.gz

In diesem Befehl werden drei Teile unterschieden:

  • put : ist der FTP-Befehl, der eine Datei an den Remote-Server sendet.
  • /tmp/backup.tar.gz : /tmp/backup.tar.gz ist die lokale Datei, die wir per FTP übertragen möchten.
  • /backups/backup_copy.tar.gz : ist die entfernte Datei. In unserem Beispiel haben wir festgelegt, dass es im Sicherungsordner gespeichert werden soll. Damit jedoch alles funktioniert, muss dieser Ordner vorhanden sein und über Schreibberechtigungen für unseren Benutzer verfügen. Wenn wir keinen Remote-Dateinamen angeben, wird der Name der lokalen Datei verwendet.

Zum Schluss trennen wir uns mit dem Befehl vom FTP-Server :
ftp> quit

Als Beispiel lasse ich den gesamten Text einer interaktiven Sitzung mit dem Befehl ftp vom Terminal aus:

 zeokat@ubuntu:~$ ftp -np 192.168.247.128 Connected to 192.168.247.128. 220 (vsFTPd 3.0.3)  ftp> user zeokat contraseña 331 Please specify the password. 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files.  ftp> put /tmp/backup.tar.gz /backups/backup_copy.tar.gz local: /tmp/backup.tar.gz remote: /backups/backup_copy.tar.gz 227 Entering Passive Mode (192,168,247,128,169,254). 150 Ok to send data. 226 Transfer complete. 3363 bytes sent in 0.00 secs (89.0891 MB/s)  ftp> quit 221 Goodbye. 

Ich denke, dass ich im Tutorial nichts vergessen habe und dass die Grundlagen vorhanden sind. Wie auch immer, es ist immer gut, den Befehl man ftp help zur Hand zu haben, falls wir etwas konsultieren müssen. Wenn Sie beispielsweise mehrere Dateien hochladen möchten, sehen Sie in der Dokumentation, wie der Befehl FTP mput ausgeführt wird.

See also  So deaktivieren Sie Google-Anwendungen auf Xiaomi Redmi 4 Pro, ohne root zu sein

Viele von Ihnen wundern sich vielleicht, dass der Code, der zu Beginn dieses Tutorials für fortgeschrittene Benutzer bereitgestellt wurde, sich von dem unterscheidet, was wir Schritt für Schritt gesehen haben. Auf den ersten Blick mag es anders erscheinen, aber wenn wir es ausführen, erhalten wir genau das Gleiche. Der einzige Unterschied besteht darin, dass der erste Code nicht interaktiv geschrieben ist, sodass wir ihn in einem Bash-Skript verwenden können.

Andere Methoden zum Hochladen von Dateien über FTP vom Linux-Terminal.

Alle vorherigen Erklärungen erfolgten ohne Installation eines zusätzlichen Programms. In diesem Abschnitt werden jedoch verschiedene Programme zum Hochladen einer Datei über FTP vom Linux-Terminal verwendet .

Verwenden von cURL:

Um cURL zu installieren, führen wir den Befehl aus:
sudo apt-get install curl

Um eine Datei per FTP mit cURL hochzuladen, führen wir vom Terminal aus:
curl -T backup.tar.gz ftp://192.168.247.128 --user usuario:contraseña

Verwendung von LFTP:

Um LFTP zu installieren, führen wir den Befehl aus:
sudo apt-get install lftp

Um eine Datei per FTP mit LFTP zu versenden, führen wir den Befehl aus:
lftp -e "put -O directorio/remoto/ /archivo/local.txt -o nombre_remoto.txt; bye" -u usuario,contraseña ftp.ejemplo.com

Bei den Optionen -O und -o ist es wichtig zu prüfen, ob es sich um Groß- oder Kleinbuchstaben handelt und in welcher Reihenfolge sie sich befinden . Als Beispiel führe ich normalerweise den folgenden Befehl aus, um eine Sicherung an einen Remote-Server zu senden:
lftp -e "put -O /backups /tmp/backup.tar.gz -o backup_copy.tar.gz; bye" -u zeokat,contraseña 192.168.247.128

Persönlich verwende ich gerne cURL, da es sich um eine Bibliothek handelt, die neben FTP noch weitere Protokolle unterstützt und eine langjährige Entwicklungsarbeit hinter sich hat. Damit meine ich nicht, dass der Rest der Alternativen schlecht ist, es ist nur eine persönliche Präferenz. Unter Linux gibt es mehr Programme, mit denen eine Datei über FTP von der Konsole aus gesendet werden kann. Ein sehr gutes Programm ist beispielsweise NCFTP , aber ich denke, mit den hier gezeigten Programmen ist das mehr als genug.

See also  SFTP-Zugriff ohne Shell oder Chroot SFTP in Ubuntu

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *