FTP, NcFTP, wput, Midnight Commander: Vier FTP-Alternativen für die Konsole

Freunden, die noch nicht die Segnungen von Linux empfangen haben, empfehle ich meistens Filezilla oder das Firefox-Addon FireFTP. Letzteres ist bei mir seit mindestens zwei Jahren standardmäßig installiert. Es ist einfach zu praktisch aus dem Browser heraus mal schnell sich in den FTP-Account einzuloggen. Meistens muss ich aber nur ein, zwei Dateien herunter- oder hochladen und dazu funktionieren diese Konsolenprogramme hier ausgesprochen gut.

FTP

Eines der Standardprogramme ist ftp. Im Regelfall sollte es deshalb automatisch installiert sein.

ftp 123.123.123.123


Handelt es sich um einen anonymen Server wird man sofort nach einem Namen gefragt. Ein "anonymous" garantiert den Zugriff. Das Passwort kann man auslassen. Sofort fällt aber auf, dass TAB-Vervollständigung nicht funktioniert. Ein getipptes help hilft weiter. Um eine Datei herunterzuladen genügt

get Dateiname


In die andere Richtung geht es mit

put Dateiname

NcFTP

Aaah, TAB-Vervollständigung und eine History-Funktion. 🙂 NcFTP ist ein FTP-Client, der mitdenkt und sich mit dem nachfolgenden Befehl ohne weitere Angaben in den anonymen FTP-Server einloggen würde.

ncftp 123.123.123.123


Genauso wie bei ftp erhält man mit Eingabe von help Hilfe. Ein sehr nützliches Merkmal von NcFTP sind Lesezeichen, die sich mit dem Kommando "bookmark" setzen lassen und später mit "bookmarks" auflisten lassen.

wget und wput

Wget hatte ich schon als einen der Downloadmanager vorgestellt. Unter anderem beherrscht er das FTP-Protokoll. In die andere Richtung geht es mit wput, einem winzigen FTP-Client.

Anonymer Zugang

wput test.txt ftp://ftp.example.com

Mit Passwort

wput test.txt ftp://benutzer:passwort@ftp.example.com


Damit man das Passwort nicht jedes Mal eingeben muss, gibt es zwei Konfigurationsdateien .wputrc und .netrc.

Midnight Commander


Bisher habe ich den Midnight Commander hauptsächlich als FTP-Client und zum Vergleichen von Verzeichnissen benutzt. Für alles andere genügen mir fast immer die Standardwerkzeuge.

Anonymer Zugang

In der Kommandozeile braucht man nur cd ftp://ftp.example.com eingeben. Zum Ausloggen genügt cd.

Mit Passwort

cd ftp://benutzer@ftp.example.com
Dann das Passwort eingeben.
Eine weitere Möglichkeit sich mit einem FTP-Server zu verbinden ist das Links/Rechts-Menü und der dortige Eintrag "FTP-Verbindung".

Fazit

Ich bevorzuge den Midnight Commander oder NcFTP. Beide machen das Hoch- und Herunterladen von Dateien zu einem FTP-Server von der Konsole aus zum Kinderspiel.

Downloadmanager für die Konsole

Linux bietet einige sehr effiziente Programme, um Downloads zu steuern und dabei nur wenige Systemressourcen in Beschlag zu nehmen. Genau richtig bei älteren Rechnern oder einfach nur für alle, die gerne das Maximum herausholen möchten.

Wget

Wget ist der bekannteste Downloadmanager unter Linux. Er ist praktisch in jeder Linuxdistribution standardmäßig installiert und wird in vielen Skripten eingesetzt, um Dateien aus dem Internet herunterzuladen. Eine seiner Vorgaben war Dateien auch über unzuverlässige Netze herunterladen zu können, weswegen wget auch abgebrochene Downloads an der gleichen Stelle wieder aufnehmen kann.
Wget ist nicht-interaktiv und lässt sich einsetzen, um Downloads im Hintergrund auszuführen. Die Anwendung kann dabei problemlos mit http, https und ftp umgehen. Proxies werden ebenfalls unterstützt.
Wget beherrscht den rekursiven Download von Dateien und besitzt die Fähigkeit dabei auch Links zu folgen.
Die Bedienung ist denkbar einfach:

wget http://meinedomain.de/verzeichnis/dateiname

Mit Wget lassen sich z.B. auch Dateien von ftp Servern herunterladen und direkt über stdin an mplayer übergeben, wobei in diesem Fall noch ein 8MB großer Cache genutzt wird.

wget ftp://meinedomain.de/beispiel.ogv -O - | mplayer -cache 8192 -

Wget ist die erste Wahl auf jedem Linuxsystem, wenn man so wenig Mehraufwand wie möglich haben möchte und in der Regel brauche ich auf einem Computer auch selten etwas anderes.
Noch mehr Beispiele gibt es wie gehabt mit man wget oder z.B. auch auf ubuntuusers.de.

axel

Eine der seltenen Fälle stellt sich dann ein, wenn große Dateien über eine langsame Verbindung heruntergeladen werden müssen. Seitdem ich Linux nutze und die Anbindung an die Server der zentralen Paketverwaltung meistens hervorragend sind, wurde die Notwendigkeit für einen Downloadbeschleuniger immer seltener.
Hier kommt axel ins Spiel. Axel ist winzig klein, hat keine Abhängigkeiten mit anderen Programmen und ist ideal, wenn man über http und ftp Dateien beschleunigt herunterladen möchte. Das kleine Programm startet dabei mehrere Threads, die die Leitung zum Glühen bringen.

Beispiel
axel -a -o testdatei http://meinedomain.de/verzeichnis/dateiname

Der Parameter -a zeigt eine alternative Fortschrittsanzeige an. Mit -o lässt sich die Ausgabe in einen anderen Dateinamen umbenennen. Eine Besonderheit ist die Option -Sx, wobei x für eine positive, natürliche Zahl steht. X gibt die Anzahl der Spiegelserver an, die nach der Datei durchsucht werden sollen, um den schnellstmöglichen Download zu ermitteln. Dabei wird auf die Datenbank von filesearching.com zurückgegriffen.

aria2

Aria2 ist ein vielfältiger und umfangreicher Downloadmanager für die Konsole. Er hat mehr Abhängigkeiten als axel, bietet dafür aber auch mehr Feature an.
Neben der Möglichkeit von http, https und ftp Downloads, beherrscht aria2 zusätzlich noch den Download mit Bittorrent und Metalinks.
Genauso wie bei axel lassen sich zusätzliche Threads starten, um den Download zu beschleunigen. Das Interessante dabei ist, dass aria2 in der Lage ist eine Datei gleichzeitig sowohl über http(s), ftp als auch Bittorrent herunterzuladen, zur finalen Datei zusammenzufügen und alle Dateien noch während des Downloads dem Bittorrent Schwarm anzubieten.
Beispiele aus dem Handbuch zu aria2:

Eine Datei von zwei verschiedenen HTTP Servern herunterladen

aria2c "http://host/file.zip" "http://mirror/file.zip"

Lade eine Datei von einem Host, aber mit gleichzeitig zwei Verbindungen herunter.

aria2c -x2 -k1M "http://host/file.zip"

Lade eine Datei von einem HTTP und einem FTP Server gleichzeitig herunter

aria2c "http://host1/file.zip" "ftp://host2/file.zip"

Lade alle Dateien in der Datei beispiel.txt nacheinander herunter und benutze dabei zwei gleichzeitige Verbindungen

aria2c -i beispiel.txt -j2

Weitere Beispiele gibt es im englischen aria2 Wiki.

Fazit

Wget löst im Regelfall alle Downloadprobleme und lässt sich von der Konsole auch im Hintergrund nutzen.

Axel ist die erste Wahl, wenn es auf jedes KB RAM ankommt und man oft mit langsamen Verbindungen beim Download zu kämpfen hat. Axel ist hier unschlagbar effizient.

Aria2 ist ein vollwertiges und umfangreiches Werkzeug zum Download von Dateien auf der Konsole. Es nimmt mehr Speicher als axel in Beschlag, bietet dafür aber auch mehr Möglichkeiten.

Neben dem hervorragenden rtorrent ist aria2 eine Alternative für den Download mit Bittorrent von der Konsole.
Zusammengenommen sind die Anwendungen wget, axel, aria2, rtorrent, elinks und screen ein unschlagbares Setup für die Konsole, wenn es um ressourcenschonenden und effizienten Download geht.
Ich selbst merke dabei aber immer wieder, dass entweder die Verbindung schon ausreichend schnell ist oder ich auch einfach mal ein paar Sekunden länger warten kann.
Mag aber auch sein, dass ich mit dem C64 und Amiga 500 aufgewachsen bin und mir Erfahrungen wie das Wechseln von einem Dutzend Disketten bei Monkey Island II nach jeder neuen Szene noch in Erinnerung sind. Festplatten? Hahaha.