ftblog

:: widerstand zwecklos ::
email jabber gpgkey
hackergotchi

October 05, 2006

Tooltime: lftp

Filed under: tooltime -- 13:28

Unser heutiger Tooltime Gruss geht:
an all jene, die den ultimativen FTP Client suchen.

Und das ist: lftp

Nur mal kurz zu den unterstützten Protokollen:
lftp protocols:

. FTP
. OPIE/SKEY support
. FTP proxy
. FTPS
. FXP
. FISH
. SFTP
. HTTP
. HTTP proxy
. HTTPS
. HFTP
. WebDAV (partial)

...und mehr...


Also praktisch alles geht, out of the box. Dazu ist das Ding sehr sehr
flexibel an die eigenen Wünsche anzupassen. Schauen wir uns einmal ein paar
der Fähigkeiten genauer an.

0. Hilfe!1!!

Fragen hat man immer; lftp kommt in solchen Fällen mit einer eingebauten
Hilfe daher, die man per: help <command> befragen kann.

1. Bookmarks

Immer diese URIs tippen nervt.
Klar, lftp hat <TAB>-Completion ähnlich wie moderne Shells. Trotzdem ist
das zu viel Arbeit. Lftp unterstützt den Nutzer bei der Umschiffung derart
lästiger Kleinigkeiten mit der Fähigkeit Bookmarks (analog zu bekannten
Browsern) zu speichern und zu nutzen. Guckst du:

lftp> help bookmark
Usage: bookmark [SUBCMD]
bookmark command controls bookmarks

The following subcommands are recognized:
  add <name> [<loc>] - add current place or given location to bookmarks
  and bind to given name
  del <name> - remove bookmark with the name
  edit - start editor on bookmarks file
  import <type> - import foreign bookmarks
  list - list bookmarks (default)

lftp> open ftp.de.kernel.org
lftp> cd /pub/linux/kernel
lftp> bookmark add dekernel
lftp> bookmark list
dekernel ftp://ftp.de.kernel.org/pub/linux/kernel/
lftp> quit
zsh% lftp
lftp> open dekernel
---- Connecting to ftp.de.kernel.org (82.96.64.7) port 21
<--- 220 Welcome to the Probe Networks kernel mirror at
  ftp.probe-networks.lkams.kernel.org
<--- 230 Login successful. Have fun.
<--- 250 Directory successfully changed.
cd ok, cwd=/pub/linux/kernel
lftp >


Ganz nützlich, oder?

2. Shell-ähnliche Features

Lftp hat sich bei der Bedienung von Unix Shells inspirieren lassen.
So kann man viele verschiedene Aktionen (zB Downloads) parallel laufen lassen,
indem man sie in den Hintergrund schickt (per ^Z oder 'command &' beim Aufruf).
Zurück holen in den Vordergrund kann man sie per 'wait' (oder dessen Alias
'fg'). Man kann sich laufende Aktionen mit 'jobs' ansehen.
Dazu funktionieren bedingungsabhängige Aufrufketten mit '||' oder '&&'.
Ausgabeumleitungen funktionieren auch für einige Befehle.

3. Spiegeln

Mit lftp kann man auch recht einfach Verzeichnisse rekursiv von einem Server
herunterladen... und auf einen Server hochladen... Dazu benutzt man das
'mirror' Kommando, das sehr einfach zu verwenden ist. Wie man das nutzt
kann der Leser ja nun schon selbst rausfinden. ;-)

4. automatisierte Aktionen

Man kann mit lftp Aktionen listenweise abarbeiten lassen, oder auch zu einem
bestimmten Zeitpunkt starten. Das geht mit den Befehlen 'queue' und 'at'.

lftp> queue get linux-2.6.16.tar.bz2
lftp> queue get patch-2.6.16.22.bz2


...lädt zuerst mal 'linux-2.6.16.tar.bz2' und danach 'patch-2.6.16.22.bz2'
herunter.

lftp> at 19:00 -- get patch-2.6.16.22.bz2

...lädt 'patch-2.6.16.22.bz2' um 19 Uhr herunter.
Da fühlt sich der Shell Nutzer doch gleich zu Hause.


Lftp ist natürlich sehr sehr flexibel konfigurierbar.
Ich verkneife mir hier aber eine Auflistung der einzelnen Optionen, dafür ist
die (in meinen Augen) sehr gelungene manpage da. Lesen! ;-)

So, und nun husch, husch: Installieren und probieren.

Powered by zblog
valid css | valid xhtml | utf-8 encoded | best viewed with anybrowser