Datenschaufel auf der Shell

Ftp und Ncftp

01.01.2007 Datenübertragung per FTP beherrschen die meisten Webbrowser und Dateimanager. Shell-Freunde finden in Ftp und Ncftp zwei schnelle Kommandozeilen-Alternativen.

Mit dem Internetprotokoll FTP (File Transfer Protocol) übertragen Sie Daten zwischen zwei Rechnern. Dabei kommunizieren ein FTP-Client und ein FTP-Server miteinander. Die meisten Server bieten so genanntes anonymes FTP an: Benutzer melden sich in der Regel mit dem Benutzernamen anonymous oder ftp und meist ohne Passwort an – dennoch gehört es zum guten Ton, die eigene E-Mail-Adresse anzugeben. Andere FTP-Server, etwa bei Webspace-Anbietern, verlangen eine Authentifizierung mit Benutzername und Kennwort.

Doch Vorsicht: Anders als sichere Protokolle (wie die Secure Shell SSH) überträgt FTP Benutzernamen, Passwort und die restlichen Daten im Klartext und eignet sich daher nicht für den Austausch vertraulicher Informationen.

Wer nicht den eingebauten FTP-Client des Webbrowsers oder Dateimanagers verwenden möchte, sollte sich die beiden Kommandozeilen-Alternativen Ftp und Ncftp anschauen.

Ftp: Kontaktaufnahme

Ein einfacher Kommandozeilenclient, der auf jeder Distribution zur Standardausstattung gehört, ist Ftp. Zum Verbinden tippen Sie beispielsweise:

ftp ftp.Server
.de

Alternativ starten Sie den Client mit ftp und verbinden sich dann am Kommandoprompt über den Befehl

ftp> open ftp.Server
.de

mit dem gewünschten Ziel. Nach der Kontaktaufnahme sehen Sie die Aufforderung zum Login: Hier geben Sie wie schon erwähnt entweder anonymous, ftp oder den vom Webspace-Anbieter festgelegten Benutzernamen und das zugehörige Passwort ein (Listing 1). Das Kennwort tippen Sie dabei "blind" – im Gegensatz zu Ncftp zeigt dieser Client keine Sternchen an.

Listing 1
ftp> open ftp.debian.org
Connected to ftp.debian.org.
220 saens.debian.org FTP server (vsftpd)
Name (ftp.debian.org:huhn): ftp
331 Please specify the password.
Password:

Ftp: Am Prompt

Nach der Anmeldung fordert Ftp über den Prompt ftp> zur Eingabe von Befehlen auf. Die Kommandos help oder ? blenden eine Übersicht der möglichen Kommandos ein (Abbildung 1). Viele erinnern von der Syntax her an bekannte Bash-Befehle (cd, ls, exit etc.). Einige sind selbsterklärend, andere eher etwas kryptisch. Weitere Informationen zu den einzelnen Kommandos zeigt das Programm über:

ftp> help Befehl

Abbildung 1: Befehlsgewaltig – Ftp bietet eine Onlinehilfe über ? oder help.

Um zu erfahren, in welchem Verzeichnis auf dem Server Sie sich befinden, tippen Sie (wie auf der Bash) pwd ("print working directory"), und auch den Inhalt erfahren Sie über den vertrauten Befehl ls. In einen anderen Ordner bringt Sie der Befehl cd Verzeichnis , cd .. führt eine Ebene höher, und mit cd landen Sie im Basisverzeichnis des FTP-Servers.

TIPP

Um auf dem lokalen Rechner ein Verzeichnis zu wechseln, steht Ihnen der Befehl lcd zur Verfügung. Andere lokale Kommandos geben Sie mit einem vorangestellten Ausrufezeichen ein, z. B. !ls, um den Inhalt des lokalen Ordners aufzulisten.

Über get bzw. mget laden Sie Daten vom FTP-Server ins aktuelle Verzeichnis auf den eigenen Rechner herunter. Während Sie bei get den Dateinamen genau angeben müssen, versteht mget auch Wildcards. Um beispielsweise alle Dateien eines bestimmten Verzeichnisses auf den lokalen Rechner zu schaufeln, tippen Sie am Prompt mget *. Bei Bedarf geht es auch genauer:

ftp> mget *.tar.gz

lädt nur Dateien mit der Endung .tar.gz herunter. Standardmäßig bittet Ftp nun für jede einzelne Datei, auf die das Muster zutrifft, um Bestätigung. Geben Sie entweder y oder n ein, um den Transfer zu starten oder eine Datei zu überspringen. Möchten Sie diese Abfrage abschalten, erledigen Sie das über das Kommando prompt:

ftp> prompt
Interactive mode off.

Gleiches gilt für die Befehle mput (überträgt Daten zum Server) und mdelete (löscht Daten auf dem Server) – eine entsprechende Zugriffsberechtigung (Schreibrechte) auf dem FTP-Server vorausgesetzt.

Sie verabschieden sich von der Gegenseite mit dem Kommando close. Entsprechend beendet der Befehl quit nicht nur die Sitzung, sondern auch das Programm.

Ncftp: Hallo, wer da?

Zwar richten die meisten Distributionen den Kommandozeilenclient Ncftp nicht standardmäßig mit ein, er findet sich aber fast immer auf den Installationsmedien. Alternativ holen Sie sich das Tool von der Ncftp-Homepage [1], wo es für viele verschiedene Plattformen zum Download bereitsteht.

Von der grundsätzlichen Bedienung her unterscheidet sich Ncftp nicht wesentlich von Ftp: Um die Verbindung zu einem Server herzustellen, geben Sie diesen schon beim Programmstart oder zusammen mit dem Befehl open an (Listing 2).

Listing 2
huhn@asteroid:~$ ncftp
Ncftp 3.1.8 (Jul 27, 2004) by Mike Gleason
(http://www.Ncftp.com/contact/).
ncftp> open ftp.debian.org
Connecting to 128.101.240.212…
saens.debian.org FTP server (vsftpd)
Logging in…

Die Anmeldung an Anonymous-Servern erledigt Ncftp automatisch für Sie. Benötigen Sie zur Authentifizierung Benutzername und Kennwort, geben Sie beide direkt mit an:

ncftp> open -u Username
 -p Passwort
 ftp.Server
.de

Die Kommandos help, pwd, cd, lcd, close und quit funktionieren genau wie unter Ftp. Dass der Befehl zum Auflisten des Verzeichnisinhalts ls heißt, überrascht daher nicht. Hier bietet Ncftp allerdings ein zusätzliches Feature an: Sofern der Server dies unterstützt, erhalten Sie mit ls -l ein ausführliches Listing; entsprechend zeigt ls -la auch versteckte Dateien und Verzeichnisse an.

Ncftp bietet aber noch mehr: Wie von der Bash gewohnt, unterstützt der Client die so genannte Tab Completion – tippen Sie den ersten Buchstaben eines Kommandos oder eines Datei/Verzeichnisnamens und drücken Sie [Tab]. Sobald der Name eindeutig ist, vervollständigt Ncftp diesen. Geben Sie den ersten Buchstaben eines Kommandos ein und drücken zweimal die Tabulator-Taste, zeigt Ncftp alle Befehle, die mit diesem Buchstaben beginnen.

Ncftp: Neue Freunde

Wie zu erwarten, heißt das Kommando zum Übertragen von Dateien auf den lokalen Rechner get. Zusätzlichen Komfort bietet Ncftp, weil das Programm den Fortschritt des Downloads und die Transferrate in der untersten Zeile anzeigt (Abbildung 2).

Abbildung 2: Sehr informativ: Ncftp zeigt die geschätzte Ankunftszeit (ETA = "Estimated Time of Arrival") an.

Ein praktisches Feature ist, dass Ncftp abgebrochene Downloads wiederaufnehmen kann. Lassen Sie get auf eine Datei los, die bereits auf dem lokalen Rechner existiert, meldet Ncftp The local file Datei already exists. ("Die lokale Datei Datei gibt es schon.") Anschließend zeigt der FTP-Client Angaben zur Dateigröße und dem Zeitstempel für die lokale und (sofern sich die beiden Dateien unterscheiden) die entfernte Datei.

Anschließend fragt das Programm an, was es tun soll. Wie Sie in Abbildung 3 sehen, haben Sie an dieser Stelle die folgenden Möglichkeiten:

  • o überschreibt die lokale Datei.
  • r nimmt einen abgebrochenen Download wieder auf.
  • a hängt die Datei vom FTP-Server an die lokale Datei an.
  • s bricht den Vorgang ab.
  • n erlaubt, die Datei unter neuem Namen abzulegen.
  • o! überschreibt beim Download mehrerer Dateien alle lokalen Pendants.
  • r! setzt die Datenübertragung für alle Dateien fort.
  • s! oder c bricht die Aktion für alle Dateien ab.

Abbildung 3: Versuchen Sie, eine bereits lokal vorhandene Datei herunterzuladen, fragt Ncftp nach dem weiteren Vorgehen.

Ncftp: Sehr flexibel

Ebenso wie der Befehl ls bringt get Optionen mit, die zusätzliche Features bieten. Um beispielsweise einen ganzen Ordner rekursiv, also inklusive aller Dateien und Unterverzeichnisse, zu übertragen, tippen Sie:

ncftp> get -R Verzeichnis

Außerdem bietet get einen Parameter, eine Datei unter anderem Namen abzulegen. Der Aufruf

ncftp> get -z README README.TXT

legt die Datei README auf dem eigenen Rechner unter dem Namen README.TXT ab. Gerade für Textdateien bringt get eine weitere praktische Funktion mit: Standardmäßig überträgt Ncftp im so genannten Binary-Modus, es verändert die Dateien beim Datentransfer also nicht. Handelt es sich um ASCII-Dateien mit unterschiedlichen Zeilenumbrüchen, den Editoren auf verschiedenen Plattformen verwenden, weisen Sie Ncftp mit

ncftp> get -a datei.txt

an, die Datei im ASCII-Modus herunterzuladen. Möchten Sie dauerhaft in diesen Modus wechseln, so verwenden Sie das Kommando type:

ncftp> type ascii
ncftp> type
Type is A (ASCII).
ncftp> type binary
ncftp> type
Type is I (binary/image).

Wie Sie sehen, schalten Sie mit type nicht nur um, sondern zeigen auch den derzeitigen Zustand an.

Last but not least bietet das Kommando get den Parameter -f, der dafür sorgt, dass der Client vorhandene Dateien immer überschreibt, ohne die Auswahl, anzuhängen, den Download wiederaufzunehmen oder ähnliches.

Ncftp: Mit Tiefgang

Ncftp bietet einen Befehl, der sämtliche Arbeiten des Clients direkt in den Hintergrund verlegt. Die Verwendung der Kommandos bgget, bgput und bgstart hat den Vorteil, dass die Eingabeaufforderung des FTP-Clients direkt wieder freigegeben wird. Teilen Sie dem Programm über bgget oder bgput zuerst mit, welche Daten in welche Richtung wandern sollen (Listing 3). Die Verwendung des (bg)put-Befehls setzt wiederum voraus, dass Sie auf dem Server Schreibrechte besitzen.

Listing 3
ncftp …e/pool/main/m/man2html > bgget *.deb
  + Spooled: get man2html_1.5-23.1_alpha.deb
  + Spooled: get man2html_1.5-23.1_arm.deb
  + Spooled: get man2html_1.5-23.1_i386.deb
  + Spooled: get man2html_1.5-23.1_m68k.deb
  + Spooled: get man2html_1.5-23.1_powerpc.deb
  + Spooled: get man2html_1.5-23.1_sparc.deb

Welche Transferwünsche im Spool auf Sie warten, zeigen Sie mithilfe des Befehls jobs an. Sie starten die Datenübertragung durch Eingabe von bgstart. Ncftp verrichtet die Arbeit im Hintergrund (auch noch nach Programmende) und verrät, in welchem Logfile Sie den Fortschritt beobachten können:

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

Zum Betrachten des Logfiles bietet sich der Befehl tail -f an, da er die Anzeige der Datei bei jeder Veränderung aktualisiert. So können Sie verfolgen, was Ncftp tut, ohne immer wieder das Logfile mit less oder more neu anschauen zu müssen.

Ncftp: Lesezeichen

Tippfaule oder vergessliche Menschen profitieren von der Möglichkeit, Lesezeichen in Ncftp anzulegen. Während einer Session tippen Sie das Kommando bookmark, bestätigen den Namensvorschlag von Ncftp mit [Eingabe] oder geben einen eigenen Bezeichner für das Lesezeichen an:

ncftp> bookmark
Enter a name for this bookmark, or hit enter for "debian": debiantest
Bookmark "debiantest" saved.

Ebenso bietet der Ncftp-Client von sich aus an, ein solches Lesezeichen anzulegen, wenn Sie close oder quit tippen. Sogar passwortgeschützte Zugänge merkt sich Ncftp und legt diese (verschlüsselt) in Ihrem Home-Verzeichnis in der Datei .ncftp/bookmarks ab.

Bei der nächsten Verbindungsaufnahme geben Sie einfach open zusammen mit dem Bookmark-Namen ein. Alternativ bietet open, gefolgt von [Eingabe], eine Übersicht der vorhandenen Lesezeichen. Eine Übersicht über die gespeicherten Lesezeichen erhalten Sie daneben auch über das Kommando von bookmarks.

Der FTP-Client bietet in dieser Ansicht sogar einen einfachen Editor an, um die Lesezeichen zu bearbeiten:

  • [Eingabe] stellt eine Verbindung zur entsprechenden Adresse her.
  • /ed bearbeitet den jeweiligen Eintrag.
  • /del löscht das Lesezeichen.
  • /dup dupliziert das Lesezeichen.
  • /new fügt ein Lesezeichen hinzu.

Haben Sie die Arbeit mit den Lesezeichen beendet, so verlassen Sie über [X] den Bookmark-Editor wieder.

Infos

[1] Ncftp-Website: http://www.ncftp.com/

Einem Freund empfehlen    Druckansicht beenden Bookmark and Share
Kommentare