16.3 FTP
Das File Transfer Protocol (FTP) wird, wie der Name schon sagt, zur Übertragung von Dateien verwendet. Dabei ist es egal, ob es sich um Binär- oder ASCII-Dateien handelt. FTP ist ein recht schnelles, aber altes Protokoll mit einigen Tücken. Trotzdem ist es noch sehr weit verbreitet, daher gehört ein FTP-Client zum Standardumfang Unix-artiger Systeme, ja sogar von Windows. [Fn. Der Vollständigkeit halber sei erwähnt, dass Windows auch einen Telnet-Client, diverse andere Clients und Konsolen-Administrationsprogramme enthält.]
Ähnlich wie bei Telnet loggt man sich auf einem FTP-Server zunächst mit einem Benutzernamen und Passwort ein. Es gibt auch Fälle, in denen solch ein Login nicht nötig ist. Server, bei denen dies der Fall ist, unterstützen einen sogenannten »anonymous«-Account. Dieser ermöglicht es allen Besuchern des Servers, auf bestimmte freigegebene Dateien zuzugreifen. Automatischerweise versucht der Browser in der Regel, sich bei FTP-Servern als »anonymous« anzumelden. In Konsolen-Clients gibt man entweder den Login »ftp« oder »anonymous« ein. Falls noch nach einem Passwort gefragt wird, sollte man seine E-Mail-Adresse eingeben, worauf man aber auch oft verzichten kann.
ftp
Der Konsolen-Client unter Unix heißt ftp. Startet man ihn, so erscheint ein ftp>-Prompt. Entweder übergibt man die Adresse des Hosts, mit dem man sich verbinden will, beim Aufruf als Parameter, oder man verwendet danach das Kommando open, gefolgt von einem Hostnamen.
Listing 16.3 FTP-Login
$ ftp 192.168.0.1
Connected to 192.168.0.1.
220 eygo.sun FTP server (Version 6.6/OpenBSD) ready.
Name (192.168.0.1:cdp_xe): cdp_xe
331 Password required for cdp_xe.
Password:
230- OpenBSD 3.6 (EYGO) #1: Mon Sep 5 17:51:54 CEST
2005
230-
230 User cdp_xe logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Nach dem Login erscheint wieder das ftp>-Prompt. In diesem können diverse Befehle ausgeführt werden. Eine Übersicht der von Ihrem Client unterstützten Befehle erhalten Sie durch Eingabe von help. Wir werden im Folgenden nur die wichtigsten Befehle vorstellen.
- !Befehl
Führt einen Shell-Befehl auf dem lokalen System aus. - lcd
Wechselt auf dem lokalen System das Arbeitsverzeichnis. - pwd
Zeigt das Arbeitsverzeichnis auf dem Server an. - binary
Wechselt in den Binärmodus. Viele Unix-Clients wechseln nach dem Login automatisch in diesen Modus. Dateien werden somit nicht in ASCII-Codierung übertragen. - ascii
Der ASCII-Modus ist eigentlich nur für Windows-Anwender von Bedeutung. - cd <Verzeichnis>
Wechselt das Arbeitsverzeichnis auf dem Server. - get <Datei>
Lädt eine Datei herunter. - put <Datei>
Lädt eine Datei auf den Server hoch. - del <Datei>
Löscht eine Datei. - ls/dir
Zeigt den Inhalt des Arbeitsverzeichnisses auf dem Server an. - chmod
Setzt, wie von der Shell her bekannt, Zugriffsrechte. Dieses Feature wird nur von einigen Unix-Servern unterstützt. - by/bye
Beendet eine FTP-Sitzung.
Hier eine kleine Beispielsitzung zur Verdeutlichung der wichtigsten Befehle:
Listing 16.4 Fortsetzung der obigen FTP-Session
ftp> pwd
257 "/home/cdp_xe" is current directory.
ftp> lcd /tmp
Local directory now /tmp
ftp> get setne3.sh
local: setne3.sh remote: setne3.sh
229 Entering Extended Passive Mode (|||61496|)
150 Opening BINARY mode data connection for
'setne3.sh' (295 bytes).
100 % |***********************************| 295 00:00
226 Transfer complete.
295 bytes received in 0.18 seconds (1.59 KB/s)
ftp> put setne3.sh
local: setne3.sh remote: setne3.sh
229 Entering Extended Passive Mode (|||64013|)
150 Opening BINARY mode data connection for
'setne3.sh'.
100 % |***********************************| 295 00:00
226 Transfer complete.
295 bytes sent in 0.20 seconds (1.47 KB/s)
ftp> !rm setne3.sh
ftp> by
221 Goodbye.
Neben den Konsolen-Clients gibt es allerdings noch weitaus komfortablere Clients für X11. Diese zeigen Ihnen hübsche Fortschrittsbalken, ermöglichen mehrfache Verbindungen (sowie mehrere Downloads zur selben Zeit) und sehen in der Regel auch noch gut aus.
Browser, gFTP
Als Alternativen stehen Ihnen zum Beispiel der Firefox-Browser oder der KDE-Konqueror zur Verfügung. Dies sind allerdings keine reinen FTP-Clients, und Konqueror erwies sich bei uns in der Vergangenheit noch als recht instabil, was FTP-Sessions anbelangt.
Greifen Sie daher besser auf gFTP zurück. Dieser Client ist mittlerweile stabil, performant und kann mit so ziemlich jedem FTP-Server umgehen. [Fn. Leider sind z.B. Directory-Listings in ihrer Formatierung für FTP nicht standardisiert. Viele FTP-Clients haben mit dieser Misere ihre Schwierigkeiten. gFTP unterstützt die Listingformate von UNIX, EPLF, Novell, MacOS, VMS, MVS und Windows.]
gFTP ist in C geschrieben und verwendet GTK+ für die grafische Schnittstelle. Das Programm unterstützt neben FTP auch noch HTTP, HTTPS, SSH sowie FSP und kann FTP- und HTTP-Proxys benutzen. Außerdem bietet es Lesezeichen, mit denen Sie zügig auf schon einmal genutzte Verbindungen zurückgreifen können.
Abbildung 16.1 Der grafische FTP-Client gFTP
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.