File: README

package info (click to toggle)
lftp 1.0-1
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 2,832 kB
  • ctags: 3,410
  • sloc: ansic: 22,050; cpp: 14,466; sh: 2,269; makefile: 399; sed: 93
file content (116 lines) | stat: -rw-r--r-- 4,605 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
** lftp-1.0

This package `lftp' contains the following components:

   lftp
      cool command line ftp client.

   ftpget
      a simple non-interactive tool for downloading files

These programs are written in C++ and based on class Ftp.

The class Ftp allows reliable deliver of files via ftp protocol, it
hides all the details from application and allows asynchronous
operation. Redial and reget are done as necessary. It can also speed
up ftp operations by sending several commands at once and then
checking all the responses. It seems this sometimes does not work, so
it is disabled by default. To turn it on, use `set sync-mode n' in
lftp or --async-mode for ftpget.

Note that sending several commands is considered as violation or
protocol, but RFC959 says: ``The user-process sending another command
before the completion reply would be in violation of protocol; but
server-FTP processes should queue any commands that arrive while a
preceding command is in progress.''

It is known that some network software dealing with address
translation works incorrectly in case of several FTP commands in one
network packet.


lftp
~~~~
lftp is quite a powerful ftp client. It uses GNU readline to read
commands. It uses shell-like command syntax allowing you to launch
several commands in parallel in background (&).

Some commands allow redirecting its output (cat, ls) to file or via
pipe to external command. Commands can be started conditionally based
on termination status of previous command (&&, ||). Also, it is
possible to group commands within () and execute them in background.
All background jobs are executed in the same single process. You can
bring a foreground job to background with ^Z and back with command
`wait'.

When you think you are done but some jobs are not yet finished, you
can just exit and lftp will move itself to nohup mode in background.
The same happens when you have a real hangup.

lftp has reliable put, reput, mirror, as long with many other
commands. Use command `help' or read documentation to learn more.

Every operation in lftp is reliable, that is any not fatal error is
ignored and the operation is repeated. So if downloading breaks, it
will be restarted from the point automatically. Even if ftp server
does not support REST command, lftp will try to retrieve the file from
the very beginning until the file is transferred completely.


On startup, lftp executes /etc/lftp.conf and then ~/.lftprc. You can
place aliases and `set' commands there. Some people prefer to see full
protocol debug, use `debug' to turn the debug on.

lftp has the following settable variables (you can also use `set' to
see all variables and their values):
 * cmd:csh-history - (bool) enables csh-like history expansion
 * cmd:long-running - (seconds) time of command execution, which is
considered as `long' and a beep is done before next prompt. 0 means
off.
 * cmd:ls-default - (string) default ls argument
 * cmd:prompt - (string) prompt. lftp recognizes some bash escapes,
such as \u, \h, \w.
 * cmd:remote-completion - (bool) whether to use remote completion.
 * ftp:idle - (seconds) close idle connections locally after this time
 * ftp:max-retries - (num) limit maximum number of operation retries
(default 0=unlimited)
 * ftp:passive-mode - (bool) passive mode ftp
 * ftp:proxy - (string) ftp proxy
 * ftp:redial-interval - (seconds) minimal time between reconnects.
 * ftp:relookup-always - (bool) relookup host address each time before
connecting
 * ftp:sync-mode - (bool) send one command at a time and wait for
response. Might be necessary to set it to 'off' if buggy ftp server or
router is used.
 * ftp:timeout - (seconds) network protocol timeout

Variable names can be abbreviated and prefix can be omitted unless the
rest becomes ambiguous.


Systems
~~~~~~~
The package is known to compile on Solaris2.5(gcc), Linux,
FreeBSD2.2.2 and SCO v5.0(gcc). If you can't compile it on your
system, let me know.


Mailing list
~~~~~~~~~~~~
There is a mailing list for discussion of lftp and announcements. It
is managed by majordomo; to subscribe, send mail to
majordomo@uniyar.ac.ru with `subscribe lftp' in body of message; to
send letters to the list, send them to lftp@uniyar.ac.ru; to
unsubscribe, send mail to majordomo@uniyar.ac.ru with `unsubscribe
lftp' in body of message. This is low volume list.

There is also list lftp-devel@uniyar.ac.ru for snapshot announcements
and other development.


Author
~~~~~~
Author: Alexander V. Lukyanov <lav@yars.free.net>
Postal address: Aviatorov st. 80-45, Yaroslavl 150051, Russia

Comments and bug reports are welcome.