claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 03/2004   »   Ausgabe bestellen

NcFTP

Transferleistung

von Heike Jurzik


Es muss nicht immer ein grafisches Programm sein, um Dateien von einem FTP-Server herunterzuladen. Zwar helfen die Alleskönner Konqueror und Nautilus auch per Drag&Drop beim Datentransfer, wer allerdings auf rekursiven Download, Wildcards oder Dateinamen-Vervollständigung nicht verzichten möchte, sollte sich das Kommandozeilen-Tool NcFTP anschauen.

FTP (File Transfer Protocol) ist ein Internet-Protokoll, das beim Datenaustausch zwischen zwei Rechnern zum Einsatz kommt. Programme, wie z. B. Konqueror oder Nautilus, verstehen das FTP-Protokoll, lösen Links wie ftp://ftp.kde.org/ auf und helfen bei der Datenübertragung. Diese grafischen Programme unterstützen sowohl den Zugang zu so genannten anonymous FTP-Servern, die keine Identifikation vom Anwender verlangen, als auch zu non-anonymous Servern, wo Benutzername und Passwort zur Identifikation nötig sind.

Abb. 1: FTP mit dem Konqueror.

Das Programm NcFTP (sprich "nick-FTP") bietet darüber hinaus einige Extras, mit denen die grafischen Tools nicht dienen können. Dateinamen-Vervollständigung (englisch "file name completion"), Download im Hintergrund (auch nach Beendigung des Programms), Wiederaufnahme von abgebrochenen Übertragungen und rekursiver Transfer von ganzen Verzeichnisstrukturen sind nur einige wenige Features, die das Programm bietet. Wir zeigen, wie Sie mit NcFTP komfortabel auf der Kommandozeile arbeiten.

Erste Schritte

NcFTP ist in der aktuellen Version 3.1.5 bei allen vier Distributionen als RPM auf den Installations-CDs dabei. Spielen Sie das Programm im Zweifelsfall über den jeweiligen Paket-Manager nachträglich ein.

Sie starten den Client mit dem Aufruf ncftp gefolgt von [Return] auf der Kommandozeile. Danach verändert sich der Eingabeaufforderung. Statt des üblichen Prompts (beispielsweise suse9@transpluto:~>) sehen Sie nun ncftp> und das Programm wartet auf Ihre Befehle.

Um eine Verbindung zu einem FTP-Server herzustellen, geben Sie den Rechnernamen schon beim Programmstart an (z. B. ncftp ftp.kde.org) oder verwenden Sie den Befehl open gefolgt vom Server-Namen:

ncftp> open ftp.kde.org
Connecting to 131.220.60.97...                                                  
welcome to the bolug ftp server! -- contact: info@bolug.uni-bonn.de
Logging in...                                                                   
Login successful. Have fun.
Sorry, I don't do help.                                                         
Logged in to ftp.kde.org.                                                       

Handelt es sich um einen non-anonymous FTP, also um einen Server, der eine Identifikation mit Username und Passwort verlangt, hängen Sie diese Angaben einfach an den open-Befehl an:

open -u username -p password ftp.rechnername.org

Alternativ dürfen Sie diese auch schon beim Programmstart angeben:

suse9@transpluto:~> ncftp -u username -p password ftp.rechnername.org

Interaktiv

Nach erfolgreicher Anmeldung kann's losgehen. Ziemlich viele der üblichen Shell-Kommandos, wie z. B. cd ("change directory", Verzeichniswechsel), ls ("list", zeigt Liste aller Dateien und Verzeichnisse) oder pwd ("print working directory", gebe aktuelles Verzeichnis aus), sind auch bei NcFTP implementiert. Auch die Pfeiltasten nach oben und unten funktionieren wie in der Bash: Pfeil nach oben ruft den letzten Befehl zurück auf den Schirm, Pfeil nach unten bringt Sie in der History wieder nach vorne.

Wenn Sie an der Eingabeaufforderung help tippen, erhalten Sie eine Liste aller zur Verfügung stehenden Befehle; help befehl verrät, was mit dem Kommando alles möglich ist.

Verschaffen Sie sich zunächst einen Überblick, in welchem Arbeitsverzeichnis Sie sich auf dem Server befinden:

ncftp> pwd
  ftp://ftp.kde.org

Mit dem Befehl ls erfahren Sie, welche Dateien und Verzeichnisse auf dem Server liegen:

ncftp / > ls
bin/   dev/   etc/   lib/   msgs/  pub/   usr/

Manche NcFTP-Kommandos haben Optionen, die den Befehl genauer spezifizieren. Für ls stehen -- sofern die Gegenseite auch ein Unix-artiges Betriebssystem ist -- beispielsweise die Parameter l ("long listing format", ausführliche Infos) oder a ("all", zeigt auch versteckte Dateien und Verzeichnisse an). Mehr über diese Optionen, auch Flags genannt, erfahren Sie ebenfalls mit help befehl oder in der Manpage, die Sie auf der Konsole mit man ncftp aufrufen. Abbildung 2 zeigt eine ausführliche Darstellung des Wurzelverzeichnis mit dem Befehl ls -l.

Abb. 2: Etwas genauer bitte -- langes Listing.

Wer ins Verzeichnis pub/ hineinwechseln möchte, nimmt das Kommando cd zu Hilfe. Eines der besten Features von NcFTP ist die Dateinamen-Vervollständigung, die Sie vielleicht schon von der Bash kennen. Tippen Sie cd p und die [Tab]-Taste. Sobald ein Dateiname eindeutig ist, vervollständigt NcFTP diesen. Da im aktuellen Verzeichnis nur ein Unterverzeichnis liegt, was mit "p" beginnt, hat das Programm leichtes Spiel und vervollständigt sofort zu cd pub/.

Übertragbar

Dateien übertragen Sie mit dem Kommando get. Dabei zeigt NcFTP in der untersten Zeile den Fortschritt des Downloads an (Abbildung 3). ETA steht dabei für "Estimated Time of Arrival" -- also die geschätzte Ankunftszeit. Daneben finden Sie die genaue Angabe, wieviel schon übertragen wurde (im Screenshot 0,06 von insgesamt 1,62 MB). Als letzten Wert sehen Sie, wie schnell (in kB pro Sekunde) der Transfer läuft.

Abb. 3: Die Statuszeile verrät, wie weit der Download ist.

Praktisch: Wenn die Übertragung einmal abgebrochen ist, verbinden Sie einfach erneut zum Server und starten Sie den Download noch einmal. NcFTP erkennt: "The local file ... already exists." -- zu deutsch: "die Datei ... existiert schon auf Ihrem Rechner" (Abbildung 4). Danach folgen genaue Angaben über die Größe und den Zeitstempel der Datei auf dem eigenen Rechner ("local") und dem FTP-Server ("remote").

Abb. 4: NcFTP nimmt auf Wunsch einen abgebrochenen Download wieder auf.

Jetzt stehen verschiedene Möglichkeiten zur Auswahl:

Die Optionen in der zweiten Reihe beziehen sich auf den Download von mehreren Dateien. Um alle Dateien aus einem Verzeichnis auf den heimischen Rechner zu übertragen, verwenden Sie den Aufruf get *. Das Sternchen ist eine so genannte Wildcard, ein Jokerzeichen, und steht für beliebig viele Zeichen. Es kann auch zum Einsatz kommen, wenn Sie beispielsweise alle Dateien, die mit qt3- beginnen, nach Hause kopieren wollen. Teilen Sie NcFTP dieses über den Aufruf get qt3-* mit.

Bricht ein Download mehrerer Dateien ab und Sie nehmen ihn wieder auf, können Sie mit [O!] alle Dateien auf der Festplatte überschreiben, mit [R!] die Übertragung für alle Dateien wieder aufnehmen und die Aktion mit [S!] oder [C] (für "cancel") abbrechen.

Optional

Der Befehl get hat mehrere Parameter, die den Download beeinflussen. Hängen Sie -R verzeichnis an das Kommando an, kopiert NcFTP rekursiv das Verzeichnis, eventuelle Unterverzeichnisse und alle enthaltenen Dateien auf den lokalen Computer (Abbildung 5).

Abb. 5: Rekursiv in einem Rutsch.

Wollen Sie verhindern, dass NcFTP eine Datei auf dem heimischen Rechner überschreibt, weil sie den gleichen Namen hat wie die zu übertragende, hilft der Parameter z weiter. Der Aufruf get -z datei datei.kopie sorgt dafür, dass die Datei datei auf dem FTP-Server auf der Festplatte unter dem Namen datei.kopie abgespeichert wird.

Die Option a bewirkt, dass NcFTP Daten im ASCII-Modus überträgt. Standardmäßig läuft das Datentransfer im Binary-Modus ab, d. h. an den Daten wird beim Transfer keinerlei Änderung vorgenommen. Im ASCII-Modus korrigiert NcFTP hingegen bei reinen Textdateien den unterschiedlichen Zeilenumbruch, den verschiedene Betriebssysteme hinterlassen. Um eine einzige Datei im ASCII-Modus herunterzuladen, tippen Sie get -a textdatei. Wollen Sie hingegen dauerhaft in diesen Modus wechseln, hilft type ascii am NcFTP-Prompt weiter. Zurück in den Binary-Modus geht's mit type binary.

Richtungswechsel

Mit NcFTP lassen sich aber nicht nur Dateien auf Ihren Rechner laden, sondern auch in die andere Richtung, auf den FTP-Server, übertragen. Dazu benötigen Sie natürlich Schreibrechte auf dem Server. Das entsprechende Kommando dazu heißt put dateiname.

Damit Sie nicht die Übersicht über lokale und entfernte Daten verlieren, bringt NcFTP einige Befehle mit, die mit "l" beginnen. Mit diesen Kommandos lassen sich Befehle auf dem eigenen Rechner ausführen. So ruft der Befehl lls beispielsweise auf dem heimischen Rechner das Programm /bin/ls auf und zeigt Dateien und Verzeichnisse im Arbeitsverzeichnis an. Praktisch: Damit die Ausgabe nicht aus dem Fenster herausscrollt, wird die Ausgabe direkt an das Programm less übergeben. Dieses zeigt den Output nun seitenweise an. Mit der Leertaste blättern Sie eine Seite nach unten, mit Bild hoch geht es wieder nach oben. Wer genug gesehen hat, tippt q (für "quit"), um less zu verlassen und die Ausgabe zu beenden.

Auch wenn Sie das Verzeichnis auf dem lokalen Rechner wechseln wollen, müssen Sie nicht den Client beenden, cd neuesverzeichnis aufrufen und NcFTP wieder starten. Stattdessen nehmen Sie den Befehl lcd -- auch hier funktioniert die oben beschriebene Dateinamen-Vervollständigung. Wer schnell ein neues Unterverzeichnis für einen Download anlegen möchte, greift zu lmkdir (für "make directory"): lmkdir kde_neu legt auf dem heimischen Rechner das neue Verzeichnis kde_neu an, ohne dass Sie NcFTP dazu beenden müssen.

Hintergründig

Während ein Download läuft, ist die Eingabeaufforderung des FTP-Clients "blockiert", d. h. Sie können keine weiteren Befehle mehr eintippen bis die Übertragung beendet ist. Für diesen Fall hat NcFTP die Kommandos bgget, bgput und bgstart im Gepäck. Das bg steht hierbei für "background" (Hintergrund).

Zunächst einmal verraten Sie dem Client, welche Dateien er im Hintergrund übertragen soll. Dazu verwenden Sie bgget datei oder bgput datei -- NcFTP informiert Sie, dass die Aufträge im Spool liegt. Mit dem Kommando jobs kontrollieren Sie, welche Transfers im Hintergrund warten (Abbildung 6). Schließlich starten Sie die Datenübertragungen mit dem Befehl bgstart. Der Client verrät:

Watch the "/home/suse9/.ncftp/spool/log" file to see how it is progressing.

Abb. 6: Jobs in der Warteschlange.

Die Daten-Transfers laufen -- sofern die Internet-Verbindung besteht -- auch dann weiter, wenn Sie das Programm NcFTP schon beendet haben. Wer das Logfile beobachten möchte, kann wieder das Programm less zu Hilfe nehmen. Tippen Sie zunächst less home/suse9/.ncftp/spool/log, um einen ersten Eindruck von NcFTPs Arbeit zu bekommen (Abbildung 7). Da sich das Logfile aber stetig verändert bis die Jobs abgearbeitet sind, müssten Sie normalerweise less immer wieder mit q beenden und neu starten. Einfacher geht es, wenn Sie zur Laufzeit [Shift-F] (für "follow") tippen. Sie springen nun ans Ende der Datei und less zeigt Veränderungen an. Zum Verlassen dieses Modus' tippen Sie [ESC].

Abb. 7: Der Pager less zeigt den Fortschritt des Transfers an.

Lesezeichen

Wenn Sie eine Verbindung zu einem FTP-Server mit close oder NcFTP mit quit beenden, bietet der Client an, ein Lesezeichen anzulegen:

You have not saved a bookmark for this site.

Would you like to save a bookmark to:
        ftp://ftp.kde.org

Save? (yes/no) 

Tippen Sie an dieser Stelle yes, schlägt das Programm selbst einen Namen für dieses Lesezeichen vor: Enter a name for this bookmark, or hit enter for "kde": (auf deutsch: "Geben Sie einen Namen für das Lesezeichen ein oder bestätigen Sie mit [Return], wenn Sie 'kde' als Namen wollen.") Bei der nächsten Verbindung zu diesem Server, können Sie nun einfach ncftp kde oder im Client selbst open kde tippen.

NcFTP speichert die Lesezeichen in der Datei bookmarks im versteckten Verzeichnis .ncftp. Sie müssen diese Datei aber nicht von Hand editieren, um die Lesezeichen zu verwalten. Rufen Sie einfach aus NcFTP heraus bookmarks auf, um in den Editor zu gelangen (Abbildung 8).

Abb. 8: Bookmarks in NcFTP verwalten.

Hier stehen Ihnen mehrere Befehle zur Verfügung:

NcFTP merkt sich auf Wunsch auch mit Passwort geschützte Zugänge. Bei ganz frühen Programmversionen wurden der Benutzername und das Passwort dabei unverschlüsselt im Home-Verzeichnis des Benutzers abgelegt. Machen Sie sich keine Sorgen -- dieser Fehler ist schon lange behoben, und Zugangskennwörter finden Sie nur noch encrypted auf der Festplatte. (hge)

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2017 COMPUTEC MEDIA GmbH | Last modified: 2007-01-25 17:00

Nutzungsbasierte Onlinewerbung

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]