Der ftp-Befehl ermöglicht die Übertragung von Dateien zu und von einem FTP-Server über die Kommandozeile. Das ist besonders nützlich auf Servern ohne grafische Oberfläche.

Sicherheitshinweis: FTP überträgt Daten unverschlüsselt, einschließlich Benutzername und Passwort. Für sichere Dateiübertragungen solltest du stattdessen SFTP oder SCP verwenden.

Grundlegende Syntax

ftp [OPTIONEN] HOST
  • HOST - Die IP-Adresse oder der Domainname des FTP-Servers.

Verbindung herstellen

Um eine FTP-Verbindung herzustellen, rufst du ftp mit der IP-Adresse oder dem Hostnamen auf:

ftp 192.168.42.77

Nach erfolgreicher Verbindung wirst du zur Eingabe von Benutzername und Passwort aufgefordert:

220 Willkommen bei Pure-FTPd
Name (192.168.42.77:localuser): max
Password:
230 OK. Das aktuelle Verzeichnis ist /
ftp>

Die ftp>-Eingabeaufforderung zeigt an, dass du mit dem Server verbunden bist und Befehle eingeben kannst.

Für Server mit anonymem Zugang verwendest du anonymous als Benutzername und deine E-Mail-Adresse als Passwort.

Wichtige FTP-Befehle

Nach der Anmeldung stehen dir folgende Befehle zur Verfügung:

BefehlBeschreibung
lsDateien im aktuellen Remote-Verzeichnis auflisten
cdVerzeichnis auf dem Server wechseln
lcdLokales Verzeichnis wechseln
pwdAktuelles Remote-Verzeichnis anzeigen
getEine Datei herunterladen
mgetMehrere Dateien herunterladen
putEine Datei hochladen
mputMehrere Dateien hochladen
mkdirVerzeichnis auf dem Server erstellen
deleteDatei auf dem Server löschen
rmdirVerzeichnis auf dem Server löschen
bye / quitVerbindung beenden
helpAlle verfügbaren Befehle anzeigen

Dateien herunterladen

Heruntergeladene Dateien landen im Verzeichnis, von dem aus du ftp gestartet hast. Mit lcd kannst du das lokale Zielverzeichnis ändern:

lcd ~/Downloads

Einzelne Datei herunterladen

Verwende get, um eine Datei vom Server herunterzuladen:

get backup.zip

Ausgabe:

200 PORT-Befehl erfolgreich
150 6516,9 kbytes zum Herunterladen
226 Datei erfolgreich übertragen
6673256 Bytes empfangen in 2,55 Sekunden (2,49 Mbytes/s)

Mehrere Dateien herunterladen

Mit mget lädst du mehrere Dateien auf einmal herunter:

mget *.zip

Du wirst für jede Datei zur Bestätigung aufgefordert:

mget backup1.zip? y
mget backup2.zip? y

Dateien hochladen

Einzelne Datei hochladen

Verwende put, um eine Datei auf den Server hochzuladen:

put bild.jpg

Ausgabe:

200 PORT-Befehl erfolgreich
150 Verbindung zu Port 34583
226 Datei erfolgreich übertragen
96936 Bytes gesendet in 0,421 Sekunden (225 kbytes/s)

Für Dateien außerhalb des aktuellen lokalen Verzeichnisses gibst du den vollständigen Pfad an:

put /home/max/dokumente/bericht.pdf

Mehrere Dateien hochladen

Mit mput lädst du mehrere Dateien hoch:

mput *.jpg

Auch hier erfolgt eine Bestätigungsabfrage für jede Datei.

Verbindung beenden

Beende die FTP-Sitzung mit bye oder quit:

bye

Ausgabe:

221 Auf Wiedersehen. Du hast 0 hochgeladen und 6544 KB heruntergeladen.

Tipps für die Praxis

  • Große Dateien: Führe ftp in einer screen- oder tmux-Sitzung aus, damit die Übertragung bei Verbindungsabbruch weiterläuft.
  • Binärmodus: Der ftp-Client wechselt automatisch in den Binärmodus. Mit binary und ascii kannst du den Übertragungsmodus manuell setzen.
  • Berechtigungen: Du benötigst Leserechte auf der Quelldatei und Schreibrechte auf dem Zielsystem.

Zusammenfassung

Der ftp-Befehl ermöglicht grundlegende Dateiübertragungen zu und von FTP-Servern. Da FTP keine Verschlüsselung bietet, solltest du für produktive Umgebungen SFTP oder SCP bevorzugen.