lftp man page on Mageia

Man page or keyword search:  
man Server   17783 pages
apropos Keyword Search (all sections)
Output format
Mageia logo
[printable version]

lftp(1)								       lftp(1)

NAME
       lftp - Sophisticated file transfer program

SYNTAX
       lftp [-d] [-e cmd] [-p port] [-u user[,pass]] [site]
       lftp -f script_file
       lftp -c commands
       lftp --version
       lftp --help


VERSION
       This man page documents lftp version 4.4.12.

DESCRIPTION
       lftp is a file transfer program that allows sophisticated ftp, http and
       other connections to other hosts. If site is specified then  lftp  will
       connect	to that site otherwise a connection has to be established with
       the open command.

       lftp can handle several file access methods - ftp, ftps,	 http,	https,
       hftp,  fish, sftp and file (https and ftps are only available when lftp
       is compiled with GNU TLS or  OpenSSL  library).	You  can  specify  the
       method  to  use	in  `open  URL' command, e.g. `open http://www.us.ker‐
       nel.org/pub/linux'. hftp is ftp-over-http-proxy	protocol.  It  can  be
       used   automatically   instead	of   ftp   if	ftp:proxy  is  set  to
       `http://proxy[:port]'. Fish is a protocol working over an  ssh  connec‐
       tion  to a unix account. SFtp is a protocol implemented in ssh2 as sftp
       subsystem.

       Besides FTP-like protocols, lftp has support for BitTorrent protocol as
       `torrent' command. Seeding is also supported.

       Every  operation	 in  lftp  is reliable, that is any non-fatal error is
       handled properly 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.

       lftp  has shell-like command syntax allowing you to launch several com‐
       mands in parallel in background (&). It is also possible to group  com‐
       mands 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 (c-z) and back with command `wait' (or `fg' which is
       alias to `wait'). To list running jobs, use command `jobs'.  Some  com‐
       mands allow redirecting their output (cat, ls, ...) to file or via pipe
       to external command. Commands can be executed  conditionally  based  on
       termination status of previous command (&&, ||).

       If  you	exit  lftp when some jobs are not finished yet, lftp will move
       itself to nohup mode in background. The same happens when  you  have  a
       real modem hangup or when you close an xterm.

       lftp has built-in mirror which can download or update a whole directory
       tree. There is also reverse mirror (mirror -R) which uploads or updates
       a  directory  tree  on  server. Mirror can also synchronize directories
       between two remote servers, using FXP if available.

       There is command `at' to launch a job at specified time in current con‐
       text,  command  `queue'	to queue commands for sequential execution for
       current server, and much more.

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

       lftp  has  a  number of settable variables. You can use `set -a' to see
       all variables and their values or `set -d' to  see  list	 of  defaults.
       Variable	 names can be abbreviated and prefix can be omitted unless the
       rest becomes ambiguous.

       If lftp was compiled with OpenSSL (configure --with-openssl),  then  it
       includes	 software  developed  by  the  OpenSSL	Project for use in the
       OpenSSL Toolkit. (http://www.openssl.org/)

   Commands
       ! shell command

       Launch shell or shell command.

	    !ls

       To do a directory listing of the local host.

       alias  [name [value]]

       Define or undefine alias name. If value is omitted, the alias is	 unde‐
       fined,  else it takes the value value. If no argument is given the cur‐
       rent aliases are listed.

	    alias dir ls -lF
	    alias less zmore

       at time [ -- command ]

       Wait until the given time and execute  given  (optional)	 command.  See
       also at(1).

       attach  [PID]

       Attach the terminal to specified backgrounded lftp process.

       bookmark	 [subcommand]

       The bookmark command controls bookmarks.

       Site  names  can	 be  used in the open command directly as-is or in any
       command that accepts input URLs using the bm:site/path format.

	    add <name> [<loc>]	 add current place or given location to	 book‐
				 marks and bind to given name
	    del <name>		 remove bookmark with name
	    edit		 start editor on bookmarks file
	    import <type>	 import foreign bookmarks
	    list		 list bookmarks (default)

       cache  [subcommand]

       The  cache  command controls local memory cache.	 The following subcom‐
       mands are recognized:

	    stat	print cache status (default)
	    on|off	turn on/off caching

	    flush	flush cache
	    size lim	set memory limit, -1 means unlimited
	    expire Nx	set cache expiration time to N seconds	(x=s)  minutes
			(x=m) hours (x=h) or days (x=d)

       cat files

       cat  outputs  the  remote  file(s) to stdout.  (See also more, zcat and
       zmore)

       cd rdir

       Change current remote directory.	  The  previous	 remote	 directory  is
       stored  as  `-'.	 You  can do `cd -' to change the directory back.  The
       previous directory for each site is also stored on disk, so you can  do
       `open site; cd -' even after lftp restart.

       chmod mode files

       Change  permission mask on remote files. The mode must be an octal num‐
       ber.

       close [-a]

       Close idle connections.	By default only with the current  server,  use
       -a to close all idle connections.

       cls [OPTS] files...

       `cls'  tries  to retrieve information about specified files or directo‐
       ries and outputs the information according to format options. The  dif‐
       ference between `ls' and `cls' is that `ls' requests the server to for‐
       mat file listing, and `cls' formats it itself, after retrieving all the
       needed information.  See `help cls' for options.

       command cmd args...

       execute given command ignoring aliases.

       debug [-o file] level|off

       Switch debugging to level or turn it off.  Use -o to redirect the debug
       output to a file.

       echo [-n] string

       guess what it does.

       eval [-f format ] args...

       without -f it just executes given arguments  as	a  command.  With  -f,
       arguments  are  transformed  into a new command. The format can contain
       plain text and placeholders $0...$9 and $@, corresponding to the	 argu‐
       ments.

       exit [bg] [top] [kill] [code]

       exit  will  exit	 from  lftp  or move to background if there are active
       jobs. If no job is active, code is passed to operating system as lftp's
       termination  status.  If code is omitted, the exit code of last command
       is used.

       `exit bg' forces	 moving	 to  background	 when  cmd:move-background  is
       false.	`exit  top'  makes  top	 level	`shell' (internal lftp command
       executor) terminate.  `exit kill' kills all numbered jobs before	 exit‐
       ing.  The  options can be combined, e.g.	 `at 08:00 -- exit top kill &'
       kills all jobs and makes lftp exit at specified time.

       fg

       Alias for `wait'.

       find [OPTS] directory...

       List files in the directory (current directory by default) recursively.
       This can help with servers lacking ls -R support. You can redirect out‐
       put of this command. Options:

	    -d MD, --max-depth=MD   specify maximum scan depth
	    -l,	   --list	    use long listing format

       ftpcopy

       Obsolete. Use one of the following instead:
	    get ftp://... -o ftp://...
	    get -O ftp://... file1 file2...
	    put ftp://...
	    mput ftp://.../*
	    mget -O ftp://... ftp://.../*
       or other combinations to get FXP transfer  (directly  between  two  ftp
       servers).  lftp would fallback to plain copy (via client) if FXP trans‐
       fer cannot be initiated or ftp:use-fxp is false.

       get [-E] [-a] [-c] [-e] [-O base] rfile [-o lfile] ...

       Retrieve the remote file rfile and store it as the  local  file	lfile.
       If  -o  is omitted, the file is stored to local file named as base name
       of rfile. You can get multiple files by specifying  multiple  instances
       of rfile (and -o lfile). Does not expand wildcards, use mget for that.

	    -c		continue, reget
	    -E		delete source files after successful transfer
	    -e		delete target file before the transfer
	    -a		use ascii mode (binary is the default)
	    -O <base>	specifies  base directory or URL where files should be
			placed

       Examples:
	    get README
	    get README -o debian.README
	    get README README.mirrors
	    get README -o debian.README README.mirrors -o debian.mirrors
	    get README -o ftp://some.host.org/debian.README
	    get README -o ftp://some.host.org/debian-dir/   (end slash is important)

       get1 [OPTS] rfile

       Transfer a single file. Options:

	    -o <lfile>			destination file name (default - base‐
					name of rfile)
	    -c				continue, reget
	    -E				delete	source	files after successful
					transfer
	    -a				use ascii mode (binary is the default)
	    --source-region=<from-to>	transfer specified  region  of	source
					file
	    --target-position=<pos>	position  in target file to write data
					at

       glob [-d] [-a] [-f] command patterns

       Glob given patterns containing metacharacters and pass result to	 given
       command.	 E.g. ``glob echo *''.

	    -f	 plain files (default)
	    -d	 directories
	    -a	 all types

       help [cmd]

       Print help for cmd or if no cmd was specified print a list of available
       commands.

       jobs [-v] [job_no...]

       List running jobs. -v means verbose, several -v can be  specified.   If
       job_no is specified, only list a job with that number.

       kill all|job_no

       Delete specified job with job_no or all jobs.  (For job_no see jobs)

       lcd ldir

       Change  current	local  directory ldir. The previous local directory is
       stored as `-'. You can do `lcd -' to change the directory back.

       ln [-s] existing-file new-link

       Make a hard/symbolic link to an existing file.  Option -s selects  cre‐
       ation of a symbolic link.

       local command

       Run  specified  command with local directory file:// session instead of
       remote session. Examples:
	    local pwd
	    local ls
	    local mirror /dir1 /dir2

       lpwd

       Print current working directory on local machine.

       ls params

       List remote files. You can redirect output of this command to  file  or
       via  pipe to external command.  By default, ls output is cached, to see
       new listing use rels or cache flush.

       mget [-c] [-d] [-a] [-E] [-O base] files

       Gets selected files with expanded wildcards.

	    -c		continue, reget.
	    -d		create directories the same as file names and get  the
			files into them instead of current directory.
	    -E		delete source files after successful transfer
	    -a		use ascii mode (binary is the default)
	    -O <base>	specifies  base directory or URL where files should be
			placed

       mirror [OPTS] [source [target]]

       Mirror specified source directory to local  target  directory.  If  the
       target  directory  ends with a slash (except the root), the source base
       name is appended to target directory name. Source and/or target can  be
       URLs pointing to directories.

	    -c,	     --continue		       continue a mirror job if possi‐
					       ble
	    -e,	     --delete		       delete  files  not  present  at
					       remote site
		     --delete-first	       delete  old files before trans‐
					       ferring new ones
		     --depth-first	       descend	 into	subdirectories
					       before transferring files
	    -s,	     --allow-suid	       set suid/sgid bits according to
					       remote site
		     --allow-chown	       try to set owner and  group  on
					       files
		     --ascii		       use    ascii   mode   transfers
					       (implies --ignore-size)
		     --ignore-time	       ignore	time   when   deciding
					       whether to download
		     --ignore-size	       ignore	size   when   deciding
					       whether to download
		     --only-missing	       download only missing files
		     --only-existing	       download	 only  files   already
					       existing at target
	    -n,	     --only-newer	       download	 only  newer files (-c
					       won't work)
		     --no-empty-dirs	       don't create empty  directories
					       (implies --depth-first)
	    -r,	     --no-recursion	       don't go to subdirectories
		     --no-symlinks	       don't create symbolic links
	    -p,	     --no-perms		       don't set file permissions
		     --no-umask		       don't apply umask to file modes
	    -R,	     --reverse		       reverse mirror (put files)
	    -L,	     --dereference	       download	  symbolic   links  as
					       files
	    -N,	     --newer-than=SPEC	       download only files newer  than
					       specified time
		     --older-than=SPEC	       download	 only files older than
					       specified time
		     --size-range=RANGE	       download only files  with  size
					       in specified range
	    -P,	     --parallel[=N]	       download N files in parallel
		     --use-pget[-n=N]	       use pget to transfer every sin‐
					       gle file
		     --on-change=CMD	       execute the command if anything
					       has been changed
		     --loop		       repeat  mirror until no changes
					       found
	    -i RX,   --include=RX	       include matching files
	    -x RX,   --exclude=RX	       exclude matching files
	    -I GP,   --include-glob=GP	       include matching files
	    -X GP,   --exclude-glob=GP	       exclude matching files
	    -f FILE, --file=FILE	       mirror a single file or globbed
					       group (e.g. /path/to/*.txt)
	    -O DIR,  --target-directory=DIR    target base path or URL
	    -v,	     --verbose[=level]	       verbose operation
		     --log=FILE		       write  lftp commands being exe‐
					       cuted to FILE
		     --script=FILE	       write lftp  commands  to	 FILE,
					       but don't execute them
		     --just-print, --dry-run   same as --script=-
		     --use-cache	       use cached directory listings
		     --Remove-source-files     remove	files  after  transfer
					       (use with caution)
	    -a				       same as --allow-chown  --allow-
					       suid --no-umask

       When  using -R, the source directory is local and the target is remote.
       If the target directory is omitted, base name of the  source  directory
       is  used.   If  both  directories are omitted, current local and remote
       directories are used.  If  the  target  directory  ends	with  a	 slash
       (except	the  root directory) then base name of the source directory is
       appended.

       RX is an extended regular expression, just like in egrep(1).

       GP is a glob pattern, e.g. `*.zip'.

       Include and exclude options can be specified multiple times.  It	 means
       that a file or directory would be mirrored if it matches an include and
       does not match to excludes after the include, or does  not  match  any‐
       thing  and  the	first check is exclude. Directories are matched with a
       slash appended.

       Note that symbolic links are  not  created  when	 uploading  to	remote
       server,	because	 ftp  protocol cannot do it. To upload files the links
       refer to, use `mirror -RL' command (treat symbolic links as files).

       For options --newer-than and --older-than you can either specify a file
       or   time   specification   like	 that  used  by	 at(1)	command,  e.g.
       `now-7days' or `week ago'. If you specify  a  file,  then  modification
       time of that file will be used.

       Verbosity level can be selected using --verbose=level option or by sev‐
       eral -v options, e.g. -vvv. Levels are:
	    0 - no output (default)
	    1 - print actions
	    2 - +print not deleted file names (when -e is not specified)
	    3 - +print directory names which are mirrored

       --only-newer turns off file size comparison and uploads/downloads  only
       newer  files  even  if  size  is	 different. By default older files are
       transferred and replace newer ones.

       You can mirror between two servers  if  you  specify  URLs  instead  of
       directories.   FXP  is  used  automatically  for	 transfers between ftp
       servers, if possible.

       Some ftp servers hide dot-files by default (e.g. .htaccess),  and  show
       them only when LIST command is used with -a option. In such case try to
       use `set ftp:list-options -a'.

       mkdir [-p] dir(s)

       Make remote directories. If -p is used, make all components of paths.

       module module [ args ]

       Load given module using dlopen(3) function. If  module  name  does  not
       contain a slash, it is searched in directories specified by module:path
       variable.   Arguments  are  passed   to	 module_init   function.   See
       README.modules for technical details.

       more files

       Same  as	 `cat  files  |	 more'. if PAGER is set, it is used as filter.
       (See also cat, zcat and zmore)

       mput [-c] [-d] [-a] [-E] [-O base] files

       Upload files with wildcard expansion. By default it uses the base  name
       of local name as remote one. This can be changed by `-d' option.

	    -c		continue, reput
	    -d		create	directories  the same as in file names and put
			the files into them instead of current directory
	    -E		delete source files after successful transfer (danger‐
			ous)
	    -a		use ascii mode (binary is the default)
	    -O <base>	specifies  base directory or URL where files should be
			placed

       mrm file(s)

       Same as `glob rm'. Removes specified file(s) with wildcard expansion.

       mv file1 file2

       Rename file1 to file2.

       nlist [args]

       List remote file names

       open [-e cmd] [-u user[,pass]] [-p port] host|url

       Select an ftp server.

       pget [OPTS] rfile [-o lfile]

       Gets the specified file using several connections. This	can  speed  up
       transfer,  but  loads the net and server heavily impacting other users.
       Use only if you really have to transfer the file ASAP.  Options:

	    -c		 continue  transfer.  Requires	lfile.lftp-pget-status
			 file.
	    -n maxconn	 set  maximum  number of connections (default is taken
			 from pget:default-n setting)

       put [-E] [-a] [-c] [-O base] lfile [-o rfile]

       Upload lfile with remote name rfile. If -o omitted, the	base  name  of
       lfile  is  used as remote name. Does not expand wildcards, use mput for
       that.

	    -o <rfile>	 specifies remote file name  (default  -  basename  of
			 lfile)
	    -c		 continue,  reput. It requires permission to overwrite
			 remote files
	    -E		 delete source files after successful  transfer	 (dan‐
			 gerous)
	    -a		 use ascii mode (binary is the default)
	    -O <base>	 specifies base directory or URL where files should be
			 placed

       pwd [-p]

       Print current remote URL. Use `-p' option to show password in the URL.

       queue [-n num ] cmd

       Add the given command to queue for sequential execution. Each site  has
       its  own	 queue.	 `-n'  adds  the  command before the given item in the
       queue. Don't try to queue `cd' or `lcd' commands, it may confuse	 lftp.
       Instead	do the cd/lcd before `queue' command, and it will remember the
       place in which the command is to be done. It is possible to queue up an
       already	running job by `queue wait <jobno>', but the job will continue
       execution even if it is not the first in queue.

       `queue stop' will stop the queue, it will not execute any new commands,
       but already running jobs will continue to run. You can use `queue stop'
       to create an empty stopped queue. `queue start' will resume queue  exe‐
       cution.	When you exit lftp, it will start all stopped queues automati‐
       cally.

       `queue' with no arguments will either create a stopped queue  or	 print
       queue status.

       queue --delete|-d [index or wildcard expression]

       Delete  one  or more items from the queue. If no argument is given, the
       last entry in the queue is deleted.

       queue --move|-m <index or wildcard expression> [index]

       Move the given items before the given queue index, or to the end if  no
       destination is given.

	    -q	 Be quiet.
	    -v	 Be verbose.
	    -Q	 Output	 in a format that can be used to re-queue. Useful with
		 --delete.

       Examples:
	    > get file &
	    [1] get file
	    > queue wait 1
	    > queue get another_file
	    > cd a_directory
	    > queue get yet_another_file

	    queue -d 3		   Delete the third item in the queue.
	    queue -m 6 4	   Move the sixth item in the queue before the
				   fourth.
	    queue -m "get*zip" 1   Move all commands matching "get*zip" to the
				   beginning of the queue.  (The order of  the
				   items is preserved.)
	    queue -d "get*zip"	   Delete all commands matching "get*zip".

       quote cmd

       For  FTP	 -  send  the command uninterpreted. Use with caution - it can
       lead to unknown remote state and thus will cause reconnect. You	cannot
       be  sure	 that  any change of remote state because of quoted command is
       solid - it can be reset by reconnect at any time.

       For  HTTP  -  specific  to  HTTP	 action.  Syntax:  ``quote   <command>
       [<args>]''.  Command may be ``set-cookie'' or ``post''.
	    open http://www.site.net
	    quote set-cookie "variable=value; othervar=othervalue"
	    set http:post-content-type application/x-www-form-urlencoded
	    quote post /cgi-bin/script.cgi "var=value&othervar=othervalue" > local_file

       For  FISH - send the command uninterpreted. This can be used to execute
       arbitrary commands on server. The command must not take input or	 print
       ###  at new line beginning. If it does, the protocol will become out of
       sync.
	    open fish://server
	    quote find -name \*.zip

       reget rfile [-o lfile]

       Same as `get -c'.

       rels [args]

       Same as `ls', but ignores the cache.

       renlist [args]

       Same as `nlist', but ignores the cache.

       repeat [OPTS] [[-d] delay] [command]

       Repeat specified command with  a	 delay	between	 iterations.   Default
       delay is one second, default command is empty.

	    -c <count>	  maximum number of iterations
	    -d <delay>	  delay between iterations
	    --while-ok	  stop when command exits with non-zero code
	    --until-ok	  stop when command exits with zero code
	    --weak	  stop when lftp moves to background.

       Examples:
	    repeat at tomorrow -- mirror
	    repeat 1d mirror

       reput lfile [-o rfile]

       Same as `put -c'.

       rm [-r] [-f] files

       Remove  remote  files.  Does not expand wildcards, use mrm for that. -r
       is for recursive directory remove. Be careful, if something goes	 wrong
       you can lose files. -f suppress error messages.

       rmdir dir(s)

       Remove remote directories.

       scache [session]

       List cached sessions or switch to specified session.

       set [var [val]]

       Set  variable  to given value. If the value is omitted, unset the vari‐
       able.  Variable name has format	``name/closure'',  where  closure  can
       specify	exact  application  of the setting. See below for details.  If
       set is called with no variable then only altered settings  are  listed.
       It can be changed by options:

	    -a	 list all settings, including default values
	    -d	 list only default values, not necessary current ones

       site site_cmd

       Execute	site command site_cmd and output the result.  You can redirect
       its output.

       sleep interval

       Sleep given time interval and exit. Interval is in seconds by  default,
       but  can	 be  suffixed  with  'm', 'h', 'd' for minutes, hours and days
       respectively.  See also at.

       slot [name]

       Select specified slot or list all slots allocated. A slot is a  connec‐
       tion  to a server, somewhat like a virtual console. You can create mul‐
       tiple slots connected to different servers and switch between them. You
       can  also  use  slot:name as a pseudo-URL evaluating to that slot loca‐
       tion.

       Default readline binding allows quick switching between slots named 0-9
       using Meta-0 - Meta-9 keys (often you can use Alt instead of Meta).

       source file
       source -e command

       Execute	commands recorded in file file or returned by specified exter‐
       nal command.
	    source ~/.lftp/rc
	    source -e echo help

       suspend

       Stop lftp process. Note that transfers will be also stopped  until  you
       continue the process with shell's fg or bg commands.

       torrent [OPTS] torrent-files...

       Start  BitTorrent  process  for the given torrent-files, which can be a
       local file, URL, magnet link or plain info_hash written in hex.	 Local
       wildcards  are  expanded.  Existing  files  are	first validated unless
       --force-valid option is given. Missing pieces are downloaded. Files are
       stored  in specified directory or current working directory by default.
       Seeding continues until ratio reachs torrent:stop-on-ratio  setting  or
       time of torrent:seed-max-time outs.

       Options:

	    -O <directory>	     specifies	 base  directory  where	 files
				     should be placed
	    --force-valid	     skip file validation  (if	you  are  sure
				     they are ok).
	    --dht-bootstrap=<node>   bootstrap DHT by sending a query to spec‐
				     ified    node.	E.g.	 dht.transmis‐
				     sionbt.com:6881.	This  option should be
				     used just once to fill local node cache.

       user user [pass]
       user URL [pass]

       Use specified info for remote login. If you specify an  URL  with  user
       name, the entered password will be cached so that future URL references
       can use it.

       version

       Print lftp version.

       wait [jobno]
       wait all

       Wait for specified job to terminate. If jobno is omitted, wait for last
       backgrounded job.

       `wait all' waits for all jobs termination.

       zcat files

       Same as cat, but filter each file through zcat. (See also cat, more and
       zmore)

       zmore files

       Same as more, but filter each file through zcat. (See  also  cat,  zcat
       and more)

   Settings
       On  startup,  lftp  executes  ~/.lftprc	and ~/.lftp/rc.	 You can place
       aliases and `set' commands there. Some people prefer to see full proto‐
       col debug, use `debug' to turn the debug on.

       There  is also a system-wide startup file in /etc/lftp.conf.  It can be
       in different directory, see FILES section.

       lftp has the following settable variables (you can also use `set -a' to
       see all variables and their values):

       bmk:save-passwords (boolean)
	      save plain text passwords in ~/.lftp/bookmarks on `bookmark add'
	      command.	Off by default.

       cache:cache-empty-listings (boolean)
	      When false, empty listings are not cached.

       cache:enable (boolean)
	      When false, cache is disabled.

       cache:expire (time interval)
	      Positive cache entries expire in this time interval.

       cache:expire-negative (time interval)
	      Negative cache entries expire in this time interval.

       cache:size (number)
	      Maximum cache size. When exceeded, oldest cache entries will  be
	      removed from cache.

       cmd:at-exit (string)
	      the  commands  in string are executed before lftp exits or moves
	      to background.

       cmd:at-exit-bg (string)
	      the commands in string are  executed  before  backgrounded  lftp
	      exits.

       cmd:at-exit-fg (string)
	      the  commands  in	 string	 are  executed	before foreground lftp
	      exits.

       cmd:at-background (string)
	      the commands in string are executed before lftp moves  to	 back‐
	      ground.

       cmd:at-terminate (string)
	      the  commands  in	 string	 are  executed	before lftp terminates
	      (either backgrounded or foreground).

       cmd:at-finish (string)
	      the commands in string are executed once when all jobs are done.

       cmd:at-queue-finish (string)
	      the commands in string are executed once	when  all  jobs	 in  a
	      queue are done.

       cmd:cls-completion-default (string)
	      default cls options for displaying completion choices. For exam‐
	      ple, to make completion listings show file sizes,	 set  cmd:cls-
	      completion-default to `-s'.

       cmd:cls-default (string)
	      default  cls  command options. They can be overridden by explic‐
	      itly given options.

       cmd:cls-exact-time (boolean)
	      when true, cls would try to get  exact  file  modification  time
	      even if it means more requests to the server.

       cmd:csh-history (boolean)
	      enables csh-like history expansion.

       cmd:default-protocol (string)
	      The  value is used when `open' is used with just host name with‐
	      out protocol. Default is `ftp'.

       cmd:fail-exit (boolean)
	      if true, exit when an unconditional (without || and && at begin)
	      command fails.

       cmd:interactive (tri-boolean)
	      when true, lftp acts interactively, handles terminal signals and
	      outputs some extra messages. Default  is	auto  and  depends  on
	      stdin being a terminal.

       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:move-background (boolean)
	      when false, lftp refuses to go to background  when  exiting.  To
	      force it, use `exit bg'.

       cmd:move-background-detach (boolean)
	      when  true (default), lftp detaches itself from the control ter‐
	      minal when moving to background, it is possible to  attach  back
	      using  `attach'  command;	 when  false, lftp tricks the shell to
	      move lftp to background process group and continues to run, then
	      fg  shell	 command  brings lftp back to foreground unless it has
	      done all jobs and terminated.

       cmd:prompt (string)
	      The prompt. lftp recognizes the following backslash-escaped spe‐
	      cial characters that are decoded as follows:
	      \@     insert @ if current user is not default
	      \a     an ASCII bell character (07)
	      \e     an ASCII escape character (033)
	      \h     the hostname you are connected to
	      \n     newline
	      \s     the name of the client (lftp)
	      \S     current slot name
	      \u     the username of the user you are logged in as
	      \U     the     URL     of	    the	    remote     site	(e.g.,
		     ftp://g437.ub.gu.se/home/james/src/lftp)
	      \v     the version of lftp (e.g., 2.0.3)
	      \w     the current working directory at the remote site
	      \W     the base name of the current  working  directory  at  the
		     remote site
	      \nnn   the character corresponding to the octal number nnn
	      \\     a backslash
	      \?     skips next character if previous substitution was empty.
	      \[     begin  a sequence of non-printing characters, which could
		     be used to embed a terminal  control  sequence  into  the
		     prompt
	      \]     end a sequence of non-printing characters

       cmd:parallel (number)
	      Number  of  jobs	run  in	 parallel in non-interactive mode. For
	      example, this may be useful for scripts with multiple `get' com‐
	      mands.  Note that setting this to a value greater than 1 changes
	      conditional execution behaviour, basically  makes	 it  inconsis‐
	      tent.

       cmd:queue-parallel (number)
	      Number of jobs run in parallel in a queue.

       cmd:remote-completion (boolean)
	      a boolean to control whether or not lftp uses remote completion.
	      When true, Tab key guesses if the word being completed should be
	      a	 remote	 file name. Meta-Tab does remote completion always. So
	      you can force remote completion with Meta-Tab  when  cmd:remote-
	      completion is false or when the guess is wrong.

       cmd:save-cwd-history (boolean)
	      when  true, lftp saves last CWD of each site to ~/.lftp/cwd_his‐
	      tory, allowing to do ``cd -'' after  lftp	 restart.  Default  is
	      true.

       cmd:save-rl-history (boolean)
	      when  true, lftp saves readline history to ~/.lftp/rl_history on
	      exit.  Default is true.

       cmd:show-status (booleam)
	      when false, lftp does not show status line on terminal.  Default
	      is true.

       cmd:set-term-status (boolean)
	      when  true,  lftp	 updates  terminal  status  if supported (e.g.
	      xterm). The closure for this setting is the terminal  type  from
	      TERM environment variable.

       cmd:status-interval (timeinterval)
	      the time interval between status updates.

       cmd:stifle-rl-history (number)
	      the number of lines to keep in readline history.

       cmd:term-status (string)
	      the format string to use to display terminal status. The closure
	      for this setting is the  terminal	 type  from  TERM  environment
	      variable. Default uses ``tsl'' and ``fsl'' termcap values.

	      The following escapes are supported:

		   \a	bell
		   \e	escape
		   \n	new line
		   \s	"lftp"
		   \v	lftp version
		   \T	the status string

       cmd:time-style (string)
	      This setting is the default value for cls --time-style option.

       cmd:trace (boolean)
	      when true, lftp prints the commands it executes (like sh -x).

       cmd:verify-host (boolean)
	      if  true, lftp resolves host name immediately in `open' command.
	      It is also possible to skip the check for a single  `open'  com‐
	      mand if `&' is given, or if ^Z is pressed during the check.

       cmd:verify-path (boolean)
	      if true, lftp checks the path given in `cd' command.  It is also
	      possible to skip the check for a single `cd' command if  `&'  is
	      given, or if ^Z is pressed during the check.  Examples:
		   set cmd:verify-path/hftp://* false
		   cd directory &

       cmd:verify-path-cached (boolean)
	      When  false,  `cd'  to  a directory known from cache as existent
	      will  succeed  immediately.   Otherwise  the  verification  will
	      depend on cmd:verify-path setting.

       color:use-color (tri-boolean)
	      when  true, cls command and completion output colored file list‐
	      ings according to color:dir-colors setting.  When set  to	 auto,
	      colors are used when output is a terminal.

       color:dir-colors (string)
	      file  listing color description. By default the value of LS_COL‐
	      ORS environment variable is used. See dircolors(1).

       dns:SRV-query (boolean)
	      query for SRV records and use them before gethostbyname. The SRV
	      records  are  only used if port is not explicitly specified. See
	      RFC2052 for details.

       dns:cache-enable (boolean)
	      enable DNS cache. If it is off, lftp  resolves  host  name  each
	      time it reconnects.

       dns:cache-expire (time interval)
	      time  to	live  for  DNS	cache  entries.	 It  has  format <num‐
	      ber><unit>+, e.g.	 1d12h30m5s or just 36h.  To  disable  expira‐
	      tion, set it to `inf' or `never'.

       dns:cache-size (number)
	      maximum number of DNS cache entries.

       dns:fatal-timeout (time interval)
	      limit the time for DNS queries. If DNS server is unavailable too
	      long, lftp will fail to  resolve	a  given  host	name.  Set  to
	      `never' to disable.

       dns:order (list of protocol names)
	      sets  the	 order of DNS queries. Default is ``inet6 inet'' which
	      means first look up address in inet6 family, then inet  and  use
	      them  in	that  order.  To disable inet6 (AAAA) lookup, set this
	      variable to ``inet''.

       dns:use-fork (boolean)
	      if true, lftp will fork before resolving host  address.  Default
	      is true.

       dns:max-retries (number)
	      If  zero, there is no limit on the number of times lftp will try
	      to lookup an address.  If > 0, lftp will try only this number of
	      times to look up an address of each address family in dns:order.

       file:charset (string)
	      local character set. It is set from current locale initially.

       fish:charset (string)
	      the  character  set used by fish server in requests, replies and
	      file listings.  Default is empty which means the same as local.

       fish:connect-program (string)
	      the program to use for connecting to remote  server.  It	should
	      support `-l' option for user name, `-p' for port number. Default
	      is `ssh -a -x'. You can set it to `rsh', for example.

       fish:shell (string)
	      use specified shell on server side. Default is /bin/sh. On  some
	      systems,	/bin/sh	 exits	when doing cd to a non-existent direc‐
	      tory. lftp can handle that but it has to reconnect.  Set	it  to
	      /bin/bash for such systems if bash is installed.

       ftp:acct (string)
	      Send  this  string  in  ACCT  command after login. The result is
	      ignored.	The closure for this setting has format user@host.

       ftp:anon-pass (string)
	      sets the password used for anonymous ftp access  authentication.
	      Default is "lftp@".

       ftp:anon-user (string)
	      sets the user name used for anonymous ftp access authentication.
	      Default is "anonymous".

       ftp:auto-sync-mode (regex)
	      if first server message matches this regex, turn	on  sync  mode
	      for that host.

       ftp:charset (string)
	      the  character  set  used by ftp server in requests, replies and
	      file listings.  Default is empty which means the same as	local.
	      This setting is only used when the server does not support UTF8.

       ftp:client (string)
	      the  name	 of ftp client to send with CLNT command, if supported
	      by server.  If it is empty, then no CLNT command will be sent.

       ftp:bind-data-socket (boolean)
	      bind data socket to the interface of control connection (in pas‐
	      sive  mode).   Default is true, exception is the loopback inter‐
	      face.

       ftp:fix-pasv-address (boolean)
	      if true, lftp will try to correct address returned by server for
	      PASV  command  in	 case when server address is in public network
	      and PASV returns an address from a private network. In this case
	      lftp would substitute server address instead of the one returned
	      by PASV command, port number would not be changed.   Default  is
	      true.

       ftp:fxp-passive-source (boolean)
	      if  true,	 lftp  will try to set up source ftp server in passive
	      mode first, otherwise destination one. If first  attempt	fails,
	      lftp  tries  to set them up the other way. If the other disposi‐
	      tion fails too, lftp falls back to plain copy. See also ftp:use-
	      fxp.

       ftp:home (string)
	      Initial directory. Default is empty string which means auto. Set
	      this to `/' if you don't like the look of %2F in ftp  URLs.  The
	      closure for this setting has format user@host.

       ftp:ignore-pasv-address (boolean)
	      If true, lftp uses control connection address instead of the one
	      returned in PASV reply for data connection. This can  be	useful
	      for broken NATs.	Default is false.

       ftp:list-empty-ok (boolean)
	      if  set  to false, empty lists from LIST command will be treated
	      as incorrect, and another method (NLST) will be used.

       ftp:list-options (string)
	      sets options which are always appended to LIST command.  It  can
	      be  useful to set this to `-a' if server does not show dot (hid‐
	      den) files by default.  Default is empty.

       ftp:nop-interval (seconds)
	      delay between NOOP commands when downloading  tail  of  a	 file.
	      This  is	useful	for ftp servers which send "Transfer complete"
	      message before flushing data transfer. In such cases  NOOP  com‐
	      mands can prevent connection timeout.

       ftp:passive-mode (boolean)
	      sets  passive  ftp  mode. This can be useful if you are behind a
	      firewall or a dumb masquerading router.  In  passive  mode  lftp
	      uses  PASV command, not the PORT command which is used in active
	      mode. In passive mode lftp itself makes the data	connection  to
	      the  server; in active mode the server connects to lftp for data
	      transfer. Passive mode is the default.

       ftp:port-ipv4 (ipv4 address)
	      specifies an IPv4 address to send with PORT command. Default  is
	      empty  which  means  to send the address of local end of control
	      connection.

       ftp:port-range (from-to)
	      allowed port range for  active  mode.   Format  is  min-max,  or
	      `full' or `any' to indicate any port. Default is `full'.

       ftp:prefer-epsv (boolean)
	      use EPSV as preferred passive mode. Default is `false'.

       ftp:proxy (URL)
	      specifies	 ftp proxy to use.  To disable proxy set this to empty
	      string. Note that it is an ftp proxy which  uses	ftp  protocol,
	      not ftp over http. Default value is taken from environment vari‐
	      able ftp_proxy if it starts with ``ftp://''. If your  ftp	 proxy
	      requires	authentication,	 specify user name and password in the
	      URL.  If ftp:proxy starts with http:// then hftp	protocol  (ftp
	      over http proxy) is used instead of ftp automatically.

       ftp:proxy-auth-type (string)
	      When  set	 to ``joined'', lftp sends ``user@proxy_user@ftp.exam‐
	      ple.org'' as user name to proxy, and ``password@proxy_password''
	      as password.

	      When  set	 to ``joined-acct'', lftp sends ``user@ftp.example.org
	      proxy_user'' (with space) as user name to proxy. The site	 pass‐
	      word  is sent as usual and the proxy password is expected in the
	      following ACCT command.

	      When set to ``open'', lftp first	sends  proxy  user  and	 proxy
	      password	and  then  ``OPEN ftp.example.org'' followed by ``USER
	      user''.  The site password is then sent as usual.

	      When set to ``user'' (default), lftp first sends proxy user  and
	      proxy  password  and then ``user@ftp.example.org'' as user name.
	      The site password is then sent as usual.

	      When  set	 to  ``proxy-user@host'',  lftp	 first	sends	``USER
	      proxy_user@ftp.example.org'', then proxy password. The site user
	      and password are then sent as usual.

       ftp:rest-list (boolean)
	      allow usage of REST command before LIST command. This  might  be
	      useful  for  large  directories,	but  some ftp servers silently
	      ignore REST before LIST.

       ftp:rest-stor (boolean)
	      if false, lftp will not try to use REST before STOR. This can be
	      useful  for  some	 buggy servers which corrupt (fill with zeros)
	      the file if REST followed by STOR is used.

       ftp:retry-530 (regex)
	      Retry on server reply 530 for PASS command if text matches  this
	      regular  expression.   This  setting should be useful to distin‐
	      guish between overloaded server (temporary condition) and incor‐
	      rect password (permanent condition).

       ftp:retry-530-anonymous (regex)
	      Additional   regular   expression	  for  anonymous  login,  like
	      ftp:retry-530.

       ftp:site-group (string)
	      Send this string in SITE GROUP command after login.  The	result
	      is ignored.  The closure for this setting has format user@host.

       ftp:skey-allow (boolean)
	      allow  sending  skey/opie reply if server appears to support it.
	      On by default.

       ftp:skey-force (boolean)
	      do not send plain text password over the network, use  skey/opie
	      instead. If skey/opie is not available, assume failed login. Off
	      by default.

       ftp:ssl-allow (boolean)
	      if true, try to negotiate SSL connection	with  ftp  server  for
	      non-anonymous  access.  Default is true. This and other ssl set‐
	      tings are only available if lftp was compiled  with  an  ssl/tls
	      library.

       ftp:ssl-auth (string)
	      the  argument  for  AUTH command, can be one of SSL, TLS, TLS-P,
	      TLS-C.  See RFC4217 for explanations. By default TLS or SSL will
	      be used, depending on FEAT reply.

       ftp:ssl-data-use-keys (boolean)
	      if  true,	 lftp loads ssl:key-file for protected data connection
	      too. When false, it does not, and the server can match data  and
	      control connections by session ID.  Default is true.

       ftp:ssl-force (boolean)
	      if  true,	 refuse to send password in clear when server does not
	      support SSL.  Default is false.

       ftp:ssl-protect-data (boolean)
	      if true, request ssl connection for data transfers. This is cpu-
	      intensive but provides privacy. Default is false.

       ftp:ssl-protect-fxp (boolean)
	      if  true,	 request  ssl connection for data transfer between two
	      ftp servers in FXP mode. CPSV or SSCN command will  be  used  in
	      that  case.  If ssl connection fails for some reason, lftp would
	      try unprotected FXP transfer unless ftp:ssl-force is set for any
	      of the two servers. Default is false.

       ftp:ssl-protect-list (boolean)
	      if true, request ssl connection for file list transfers. Default
	      is true.

       ftp:ssl-use-ccc (boolean)
	      if true, lftp would issue CCC command after logon, thus  disable
	      ssl protection layer on control connection.

       ftp:stat-interval (time interval)
	      interval between STAT commands. Default is 1 second.

       ftp:strict-multiline (boolean)
	      when  true,  lftp	 strictly  checks  for	multiline reply format
	      (expects it to end with the same code as it started with).  When
	      false, this check is relaxed.

       ftp:sync-mode (boolean)
	      if  true,	 lftp  will  send  one	command at a time and wait for
	      response. This might be useful if you  are  using	 a  buggy  ftp
	      server  or router. When it is off, lftp sends a pack of commands
	      and waits for responses - it speeds up operation when round trip
	      time  is	significant.   Unfortunately it does not work with all
	      ftp servers and some routers have troubles with it, so it is  on
	      by default.

       ftp:timezone (string)
	      Assume  this timezone for time in listings returned by LIST com‐
	      mand.  This setting can be GMT offset [+|-]HH[:MM[:SS]]  or  any
	      valid	  TZ	   value      (e.g.	 Europe/Moscow	    or
	      MSK-3MSD,M3.5.0,M10.5.0/3). The default is GMT.  Set  it	to  an
	      empty  value  to	assume local timezone specified by environment
	      variable TZ.

       ftp:trust-feat (string)
	      When true, assume that FEAT returned data are correct and	 don't
	      use common protocol extensions like SIZE, MDTM, REST if they are
	      not listed.  Default is false.

       ftp:use-abor (boolean)
	      if false, lftp does not send ABOR command but closes  data  con‐
	      nection immediately.

       ftp:use-allo (boolean)
	      when  true (default), lftp sends ALLO command before uploading a
	      file.

       ftp:use-feat (boolean)
	      when  true  (default),  lftp  uses  FEAT	command	 to  determine
	      extended features of ftp server.

       ftp:use-fxp (boolean)
	      if  true,	 lftp will try to set up direct connection between two
	      ftp servers.

       ftp:use-hftp (boolean)
	      when ftp:proxy points to an http	proxy,	this  setting  selects
	      hftp  method  (GET,  HEAD)  when	true,  and CONNECT method when
	      false. Default is true.

       ftp:use-ip-tos (boolean)
	      when true, lftp uses IPTOS_LOWDELAY for control  connection  and
	      IPTOS_THROUGHPUT for data connections.

       ftp:lang (boolean)
	      the  language  selected with LANG command, if supported as indi‐
	      cated by FEAT response. Default  is  empty  which	 means	server
	      default.

       ftp:use-mdtm (boolean)
	      when  true  (default),  lftp uses MDTM command to determine file
	      modification time.

       ftp:use-mdtm-overloaded (boolean)
	      when true, lftp uses two argument MDTM command to set file modi‐
	      fication time on uploaded files. Default is false.

       ftp:use-site-idle (boolean)
	      when  true,  lftp	 sends `SITE IDLE' command with net:idle argu‐
	      ment. Default is false.

       ftp:use-site-utime (boolean)
	      when true, lftp sends 5-argument `SITE  UTIME'  command  to  set
	      file modification time on uploaded files. Default is true.

       ftp:use-site-utime2 (boolean)
	      when  true,  lftp	 sends	2-argument `SITE UTIME' command to set
	      file modification time on uploaded files. Default is  true.   If
	      5-argument  `SITE	 UTIME' is also enabled, 2-argument command is
	      tried first.

       ftp:use-size (boolean)
	      when true (default), lftp uses SIZE command  to  determine  file
	      size.

       ftp:use-stat (boolean)
	      if  true,	 lftp  sends STAT command in FXP mode transfer to know
	      how much data has been transferred. See also  ftp:stat-interval.
	      Default is true.

       ftp:use-stat-for-list (boolean)
	      when  true,  lftp	 uses STAT instead of LIST command. By default
	      `.' is used as STAT argument. Using STAT, lftp  avoids  creating
	      data connection for directory listing. Some servers require spe‐
	      cial options for STAT,  use  ftp:list-options  to	 specify  them
	      (e.g. -la).

       ftp:use-telnet-iac (boolean)
	      when  true  (default),  lftp uses TELNET IAC command and follows
	      TELNET protocol as specified in RFC959. When false, it does  not
	      follow TELNET protocol and thus does not double 255 (0xFF, 0377)
	      character and does not prefix ABOR and STAT commands with TELNET
	      IP+SYNCH signal.

       ftp:use-tvfs (tri-boolean)
	      When  set	 to auto, usage of TVFS feature depends on FEAT server
	      reply. Otherwise this setting tells whether use it  or  not.  In
	      short,  if a server supports TVFS feature then it uses unix-like
	      paths.

       ftp:use-utf8 (boolean)
	      if true, lftp sends `OPTS UTF8 ON' to  the  server  to  activate
	      UTF-8 encoding (if supported). Disable it if the file names have
	      a different encoding and the server has a trouble with it.

       ftp:use-quit (boolean)
	      if true, lftp sends QUIT before disconnecting from  ftp  server.
	      Default is true.

       ftp:verify-address (boolean)
	      verify  that  data  connection comes from the network address of
	      control connection peer. This can possibly prevent data  connec‐
	      tion  spoofing which can lead to data corruption. Unfortunately,
	      this can fail for	 certain  ftp  servers	with  several  network
	      interfaces,  when	 they  do  not	set  outgoing  address on data
	      socket, so it is disabled by default.

       ftp:verify-port (boolean)
	      verify that data connection has port 20 (ftp-data) on its remote
	      end.   This  can	possibly  prevent  data connection spoofing by
	      users of remote host. Unfortunately, too many windows  and  even
	      unix  ftp	 servers forget to set proper port on data connection,
	      thus this check is off by default.

       ftp:web-mode (boolean)
	      disconnect after closing data connection. This can be useful for
	      totally broken ftp servers. Default is false.

       ftps:initial-prot (string)
	      specifies	 initial  PROT setting for FTPS connections. Should be
	      one of: C, S, E, P, or  empty.  Default  is  empty  which	 means
	      unknown,	so that lftp will use PROT command unconditionally. If
	      PROT command turns out to be unsupported, then Clear mode	 would
	      be assumed.

       hftp:cache (boolean)
	      allow server/proxy side caching for ftp-over-http protocol.

       hftp:cache-control (string)
	      specify corresponding HTTP request header.

       hftp:proxy (URL)
	      specifies http proxy for ftp-over-http protocol (hftp). The pro‐
	      tocol hftp cannot work without a http proxy, obviously.  Default
	      value  is taken from environment variable ftp_proxy if it starts
	      with   ``http://'',   otherwise	from   environment    variable
	      http_proxy.   If your ftp proxy requires authentication, specify
	      user name and password in the URL.

       hftp:use-allprop (boolean)
	      if true, lftp will send `<allprop/>' request body in  `PROPFIND'
	      requests, otherwise it will send an empty request body.

       hftp:use-authorization (boolean)
	      if  set  to  off,	 lftp will send password as part of URL to the
	      proxy. This may be required  for	some  proxies  (e.g.  M-soft).
	      Default is on, and lftp will send password as part of Authoriza‐
	      tion header.

       hftp:use-head (boolean)
	      if set to off, lftp will try to use `GET' instead of `HEAD'  for
	      hftp  protocol.  While this is slower, it may allow lftp to work
	      with some proxies which don't  understand	 or  mishandle	``HEAD
	      ftp://'' requests.

       hftp:use-mkcol (boolean)
	      if  set to off, lftp will try to use `PUT' instead of `MKCOL' to
	      create directories with hftp protocol. Default is off.

       hftp:use-propfind (boolean)
	      if set to off, lftp will not try to use `PROPFIND' to get direc‐
	      tory  contents with hftp protocol and use `GET' instead. Default
	      is off.

       hftp:use-type (boolean)
	      If set to off, lftp won't try to append `;type=' to URLs	passed
	      to  proxy.   Some	 broken	 proxies  don't	 handle	 it correctly.
	      Default is on.

       http:accept, http:accept-charset, http:accept-language (string)
	      specify corresponding HTTP request headers.

       http:authorization (string)
	      the authorization to use by default, when no user is  specified.
	      The format is ``user:password''. Default is empty which means no
	      authorization.

       http:cache (boolean)
	      allow server/proxy side caching.

       http:cache-control (string)
	      specify corresponding HTTP request header.

       http:cookie (string)
	      send this cookie to server. A closure is useful here:
		   set cookie/www.somehost.com "param=value"

       http:post-content-type (string)
	      specifies value of Content-Type http  request  header  for  POST
	      method.  Default is ``application/x-www-form-urlencoded''.

       http:proxy (URL)
	      specifies	 http proxy. It is used when lftp works over http pro‐
	      tocol.   Default	value  is  taken  from	environment   variable
	      http_proxy.  If your proxy requires authentication, specify user
	      name and password in the URL.

       http:put-method (PUT or POST)
	      specifies which http method to use on put.

       http:put-content-type (string)
	      specifies value of Content-Type  http  request  header  for  PUT
	      method.

       http:referer (string)
	      specifies	 value for Referer http request header. Single dot `.'
	      expands to current directory URL. Default is `.'. Set  to	 empty
	      string to disable Referer header.

       http:set-cookies (boolean)
	      if  true,	 lftp  modifies	 http:cookie variables when Set-Cookie
	      header is received.

       http:use-allprop (boolean)
	      if true, lftp will send `<allprop/>' request body in  `PROPFIND'
	      requests, otherwise it will send an empty request body.

       http:use-mkcol (boolean)
	      if  set to off, lftp will try to use `PUT' instead of `MKCOL' to
	      create directories with http protocol. Default is on.

       http:use-propfind (boolean)
	      if set to off, lftp will not try to use `PROPFIND' to get direc‐
	      tory  contents with http protocol and use `GET' instead. Default
	      is on.

       http:user-agent (string)
	      the string lftp sends in User-Agent header of HTTP request.

       https:proxy (string)
	      specifies https proxy. Default value is taken  from  environment
	      variable https_proxy.

       mirror:dereference (boolean)
	      when  true,  mirror  will dereference symbolic links by default.
	      You can override	it  by	--no-dereference  option.  Default  if
	      false.

       mirror:exclude-regex (regex)
	      specifies	 default  exclusion  pattern.  You  can override it by
	      --include option.

       mirror:include-regex (regex)
	      specifies default inclusion pattern. It is used just after  mir‐
	      ror:exclude-regex	  is   applied.	 It  is	 never	used  if  mir‐
	      ror:exclude-regex is empty.

       mirror:no-empty-dirs (boolean)
	      when  true,  mirror  doesn't  create  empty  directories	 (like
	      --no-empty-dirs option).

       mirror:order (list of patterns)
	      specifies	 order	of file transfers. E.g. setting this to "*.sfv
	      *.sum" makes mirror to transfer files matching *.sfv first, then
	      ones  matching *.sum and then all other files. To process direc‐
	      tories after other files, add "*/" to end of pattern list.

       mirror:parallel-directories (boolean)
	      if true, mirror will start processing of several directories  in
	      parallel	when it is in parallel mode. Otherwise, it will trans‐
	      fer files from a single directory before moving to other	direc‐
	      tories.

       mirror:parallel-transfer-count (number)
	      specifies	 number	 of  parallel  transfers  mirror is allowed to
	      start. Default is	 1.   You  can	override  it  with  --parallel
	      option.

       mirror:set-permissions (boolean)
	      When  set	 to  off,  mirror won't try to copy file and directory
	      permissions.  You can override it by --perms option. Default  is
	      on.

       mirror:skip-noaccess (boolean)
	      when true, mirror does not try to download files which are obvi‐
	      ously inaccessible by the permission mask. Default is false.

       mirror:use-pget-n (number)
	      specifies -n option for pget command used to transfer every sin‐
	      gle file under mirror. Default is 1 which disables pget.

       module:path (string)
	      colon  separated list of directories to look for modules. Can be
	      initialized by environment variable LFTP_MODULE_PATH. Default is
	      `PKGLIBDIR/VERSION:PKGLIBDIR'.

       net:connection-limit (number)
	      maximum  number  of  concurrent  connections to the same site. 0
	      means unlimited.

       net:connection-takeover (boolean)
	      if true, foreground connections have  priority  over  background
	      ones  and can interrupt background transfers to complete a fore‐
	      ground operation.

       net:idle (time interval)
	      disconnect from server after this idle time. Default is  3  min‐
	      utes.

       net:limit-rate (bytes per second)
	      limit  transfer  rate on data connection. 0 means unlimited. You
	      can specify two numbers separated by colon to limit download and
	      upload rate separately.  Suffixes are supported, e.g. 100K means
	      102400.

       net:limit-max (bytes)
	      limit accumulating of unused limit-rate. 0 means twice of limit-
	      rate.

       net:limit-total-rate (bytes per second)
	      limit  transfer  rate  of all connections in sum. 0 means unlim‐
	      ited. You can specify two numbers separated by  colon  to	 limit
	      download	and  upload  rate  separately.	Note that sockets have
	      receive buffers on them, this can	 lead  to  network  link  load
	      higher  than  this rate limit just after transfer beginning. You
	      can try to set net:socket-buffer to relatively  small  value  to
	      avoid this.

       net:limit-total-max (bytes)
	      limit  accumulating of unused limit-total-rate. 0 means twice of
	      limit-total-rate.

       net:max-retries (number)
	      the maximum number of sequential tries of an  operation  without
	      success.	0 means unlimited. 1 means no retries.

       net:no-proxy (string)
	      contains	comma separated list of domains for which proxy should
	      not  be  used.   Default	is  taken  from	 environment  variable
	      no_proxy.

       net:persist-retries (number)
	      ignore  this number of hard errors. Useful to login to buggy ftp
	      servers which reply 5xx when there is too many users.

       net:reconnect-interval-base (seconds)
	      sets the base minimal time between reconnects.  Actual  interval
	      depends	on  net:reconnect-interval-multiplier  and  number  of
	      attempts to perform an operation.

       net:reconnect-interval-max (seconds)
	      sets maximum reconnect interval.	When  current  interval	 after
	      multiplication  by net:reconnect-interval-multiplier reachs this
	      value (or exceeds it), it is reset back to  net:reconnect-inter‐
	      val-base.

       net:reconnect-interval-multiplier (real number)
	      sets  multiplier	by which base interval is multiplied each time
	      new attempt to perform an operation  fails.  When	 the  interval
	      reachs  maximum,	it  is reset to base value. See net:reconnect-
	      interval-base and net:reconnect-interval-max.

       net:socket-bind-ipv4 (ipv4 address)
	      bind all IPv4 sockets to specified address. This can  be	useful
	      to  select a specific network interface to use. Default is empty
	      which means not to bind  IPv4  sockets,  operating  system  will
	      choose an address automatically using routing table.

       net:socket-bind-ipv6 (ipv6 address)
	      the same for IPv6 sockets.

       net:socket-buffer (bytes)
	      use  given  size	for  SO_SNDBUF and SO_RCVBUF socket options. 0
	      means system default.

       net:socket-maxseg (bytes)
	      use given size for TCP_MAXSEG socket option. Not	all  operating
	      systems support this option, but linux does.

       net:timeout (time interval)
	      sets the network protocol timeout.

       pget:default-n (number)
	      default number of chunks to split the file to in pget.

       pget:save-status (time interval)
	      save  pget transfer status this often. Set to `never' to disable
	      saving of the status file.  The status is saved to a  file  with
	      suffix .lftp-pget-status.

       sftp:charset (string)
	      the  character  set  used	 by sftp server in file names and file
	      listings.	 Default is empty which means the same as local.  This
	      setting  is only used for sftp protocol version prior to 4. Ver‐
	      sion 4 and later always use UTF-8.

       sftp:connect-program (string)
	      the program to use for connecting to remote  server.  It	should
	      support `-l' option for user name, `-p' for port number. Default
	      is `ssh -a -x'. You can set it to `rsh', for example.

       sftp:max-packets-in-flight (number)
	      The maximum number of unreplied packets in flight. If round trip
	      time   is	 significant,  you  should  increase  this  and	 size-
	      read/size-write. Default is 16.

       sftp:protocol-version (number)
	      The protocol number to negotiate. Default is 4. The actual  pro‐
	      tocol version used depends on server.

       sftp:server-program (string)
	      The  server  program  implementing SFTP protocol. If it does not
	      contain a slash `/', it is considered a ssh2  subsystem  and  -s
	      option  is  used	when  starting	connect-program.   Default  is
	      `sftp'. You can use rsh as transport level protocol like this:
		   set sftp:connect-program rsh
		   set sftp:server-program /usr/libexec/openssh/sftp-server
	      Similarly you can run sftp over ssh1.

       sftp:size-read (number)
	      Block size for reading. Default is 0x8000.

       sftp:size-write (number)
	      Block size for writing. Default is 0x8000.

       ssl:ca-file (path to file)
	      use specified file as Certificate Authority certificate.

       ssl:ca-path (path to directory)
	      use specified directory  as  Certificate	Authority  certificate
	      repository (OpenSSL only).

       ssl:check-hostname (boolean)
	      when  true,  lftp checks if the host name used to connect to the
	      server corresponds to the host name in its certificate.

       ssl:crl-file (path to file)
	      use specified file as Certificate Revocation List certificate.

       ssl:crl-path (path to directory)
	      use specified directory as Certificate Revocation List  certifi‐
	      cate repository (OpenSSL only).

       ssl:key-file (path to file)
	      use specified file as your private key.

       ssl:cert-file (path to file)
	      use specified file as your certificate.

       ssl:use-sni (boolean)
	      when true, use Server Name Indication (SNI) TLS extension.

       ssl:verify-certificate (boolean)
	      if  set to yes, then verify server's certificate to be signed by
	      a known Certificate Authority and not be on Certificate  Revoca‐
	      tion List.

       torrent:ip (ipv4 address)
	      IP  address  to send to the tracker. Specify it if you are using
	      an http proxy.

       torrent:ipv6 (ipv6 address)
	      IPv6 address to send to the tracker.  By	default,  first	 found
	      global unicast address is used.

       torrent:max-peers (number)
	      maximum  number  of  peers  for  a torrent. Least used peers are
	      removed to maintain this limit.

       torrent:port-range (from-to)
	      port range to accept connections on. A single port  is  selected
	      when a torrent starts.

       torrent:retracker (URL)
	      explicit retracker URL, e.g. `http://retracker.local/announce'.

       torrent:seed-max-time (time interval)
	      maximum  seed time. After this period of time a complete torrent
	      shuts down independently of ratio. It can be set to infinity  if
	      needed.

       torrent:seed-min-peers (number)
	      minimum  number  of peers when the torrent is complete. If there
	      are less, new peers are actively searched for.

       torrent:stop-on-ratio (real number)
	      torrent stops when it's complete and ratio reached this number.

       torrent:use-dht (boolean)
	      when true, DHT is used.

       xfer:clobber (boolean)
	      if this setting is off, get commands will not overwrite existing
	      files and generate an error instead.

       xfer:destination-directory (path or URL to directory)
	      This  setting is used as default -O option for get and mget com‐
	      mands.  Default is empty, which means current directory  (no  -O
	      option).

       xfer:disk-full-fatal (boolean)
	      when true, lftp aborts a transfer if it cannot write target file
	      because of full disk or quota; when false, lftp waits  for  disk
	      space to be freed.

       xfer:eta-period (seconds)
	      the  period  over	 which	weighted average rate is calculated to
	      produce ETA.

       xfer:eta-terse (boolean)
	      show terse ETA (only high order parts). Default is true.

       xfer:log (boolean)
	      when true, lftp logs transfers to a file from xfer:log-file set‐
	      ting.

       xfer:log-file (pathtofile)
	      the file to log transfers to. Default is ~/.lftp/transfer_log.

       xfer:make-backup (boolean)
	      when  true,  lftp	 renames pre-existing file adding ``~'' suffix
	      instead of overwriting it.

       xfer:max-redirections (number)
	      maximum number of redirections. This can be useful for download‐
	      ing over HTTP.  0 prohibits redirections.

       xfer:rate-period (seconds)
	      the  period over which weighted average rate is calculated to be
	      shown.

       xfer:verify (boolean)
	      when true, verify-command is launched after successful  transfer
	      to  validate  file  integrity.  Zero  exit  code of that command
	      should indicate correctness of the file.

       xfer:verify-command (string)
	      the command to validate file integrity. The only argument is the
	      path to the file.

       The  name of a variable can be abbreviated unless it becomes ambiguous.
       The prefix before `:' can be omitted too. You can set one variable sev‐
       eral  times  for	 different closures, and thus you can get a particular
       settings for particular state. The closure is  to  be  specified	 after
       variable name separated with slash `/'.

       The  closure  for `dns:', `net:', `ftp:', `http:', `hftp:' domain vari‐
       ables is currently just the host name as you specify it in  the	`open'
       command	(with  some  exceptions	 where	closure	 is  meaningless, e.g.
       dns:cache-size).	 For some `cmd:' domain variables the closure is  cur‐
       rent  URL  without path.	 For other variables it is not currently used.
       See examples in the sample lftp.conf.

       Certain commands and settings take a time interval  parameter.  It  has
       the  format Nx[Nx...], where N is time amount (floating point) and x is
       time unit: d - days, h - hours, m - minutes, s - seconds. Default  unit
       is  second.  E.g.  5h30m or 5.5h.  Also the interval can be `infinity',
       `inf', `never', `forever' - it means  infinite  interval.  E.g.	`sleep
       forever' or `set dns:cache-expire never'.

       Boolean	settings  can be one of (true, on, yes, 1, +) for a True value
       or one of (false, off, no, 0, -) for a False value.

       Tri-boolean settings have either a boolean value or `auto'.

       Integer settings can have a suffix: k - kibi, m - mebi, g - gigi,  etc.
       They can also have a prefix: 0 - octal, 0x - hexadecimal.

   FTP asynchronous mode (pipelining)
       Lftp  can  speed	 up ftp operations by sending several commands at once
       and then checking all the responses. See ftp:sync-mode variable.	 Some‐
       times this does not work, thus synchronous mode is the default. You can
       try to turn synchronous mode off and see if it works  for  you.	It  is
       known that some network software dealing with address translation works
       incorrectly in the case of several FTP commands in one network packet.

       RFC959 says: ``The user-process sending another command before the com‐
       pletion	reply  would  be in violation of protocol; but server-FTP pro‐
       cesses should queue any commands that arrive while a preceding  command
       is  in  progress''.  Also, RFC1123 says: ``Implementors MUST NOT assume
       any correspondence between READ boundaries on  the  control  connection
       and  the	 Telnet	 EOL sequences (CR LF).'' and ``a single READ from the
       control connection may include more than one FTP command''.

       So it must be safe to send several commands at once,  which  speeds  up
       operation  a  lot  and  seems  to  work with all Unix and VMS based ftp
       servers. Unfortunately, windows based servers often cannot handle  sev‐
       eral commands in one packet, and so cannot some broken routers.

OPTIONS
       -d     Switch on debugging mode.

       -e commands
	      Execute given commands and don't exit.

       -p port
	      Use the given port to connect.

       -u user[,pass]
	      Use  the	given  username	 and  password to connect. Remember to
	      quote the password properly in the shell.	 Also note that it  is
	      not secure to specify the password on command line, use ~/.netrc
	      file.  Alternatively you can use ssh-based protocols with autho‐
	      rized keys, so you don't have to enter a password.

       -f script_file
	      Execute commands in the file and exit.  This option must be used
	      alone without other arguments.

       -c commands
	      Execute the given commands and exit. Commands can	 be  separated
	      with  a  semicolon, `&&' or `||'. Remember to quote the commands
	      argument properly in the shell.  This option must be used	 alone
	      without other arguments.

ENVIRONMENT VARIABLES
       The following environment variables are processed by lftp:

       HOME   Used for (local) tilde (`~') expansion

       SHELL  Used by the ! command to determine the shell to run.

       PAGER  This  should  be the name of the pager to use.  It's used by the
	      more and zmore commands.

       http_proxy, https_proxy
	      Used to set initial http:proxy, hftp:proxy and https:proxy vari‐
	      ables.

       ftp_proxy
	      Used to set initial ftp:proxy or hftp:proxy variables, depending
	      on URL protocol used in this environment variable.

       no_proxy
	      Used to set initial net:no-proxy variable.

       LFTP_MODULE_PATH
	      Used to set initial module:path variable.

       LFTP_HOME
	      Used to locate the directory that stores user-specific  configu‐
	      ration files.  If unset, ~/.lftp will be used.

       LS_COLORS
	      used to set initial color:dir-colors variable.

       XDG_CONFIG_DIR, XDG_DATA_DIR, XDG_CACHE_DIR
	      Used  to	locate	the  directories  for user-specific files when
	      ~/.lftp (or $LFTP_HOME directory) does not exist.	 Defaults  are
	      ~/.config,  ~/.local/share and ~/.cache respectively. The suffix
	      /lftp is appended to make the full path to the directories.

FILES
       /etc/lftp.conf
	      system-wide   startup   file.   Actual   location	  depends   on
	      --sysconfdir  configure  option. It is /etc when prefix is /usr,
	      /usr/local/etc by default.

       ~/.lftp/rc, ~/.lftprc
	      These files are executed on lftp startup after /etc/lftp.conf.

       ~/.lftp/log
	      The file things are logged to when lftp  moves  into  the	 back‐
	      ground in nohup mode.

       ~/.lftp/transfer_log
	      The file transfers are logged to when xfer:log setting is set to
	      `yes'.  The location can be changed by xfer:log-file setting.

       ~/.lftp/bookmarks
	      The file is used to store lftp's bookmarks.   See	 the  bookmark
	      command.

       ~/.lftp/cwd_history
	      The file is used to store last working directories for each site
	      visited.

       ~/.lftp/bg/
	      The directory is used to store named  sockets  for  backgrounded
	      lftp processes.

       ~/.lftp/DHT/"
	      The  directory  is used to store DHT id and nodes cache for IPv4
	      and IPv6.	 File name suffix is the host name.

       ~/.netrc
	      The file is consulted to get default login and password  to  ftp
	      server.	Passwords  are	also searched here if an URL with user
	      name but with no password is used.

SEE ALSO
       ftpd(8), ftp(1)
       RFC854 (telnet), RFC959 (ftp),  RFC1123,	 RFC1945  (http/1.0),  RFC2052
       (SRV  RR),  RFC2228  (ftp  security  extensions),  RFC2389  (ftp FEAT),
       RFC2428	(ftp/ipv6),  RFC2518  (WebDAV),	 RFC2616  (http/1.1),  RFC2617
       (http/1.1  authentication), RFC2640 (ftp i18n), RFC4217 (ftp over ssl),
       BEP0003 (BitTorrent Protocol), BEP0005 (DHT  Protocol),	BEP0006	 (Fast
       Extension),  BEP0007  (IPv6  Tracker Extension), BEP0009 (Extension for
       Peers to Send Metadata Files), BEP0010  (Extension  Protocol),  BEP0012
       (Multitracker  Metadata	Extension),  BEP0023  (Tracker Returns Compact
       Peer Lists), BEP0032 (DHT Extensions for IPv6).
       http://www.ietf.org/internet-drafts/draft-ietf-ftpext-mlst-16.txt (ftp
       extensions over RFC959),
       http://www.ietf.org/internet-drafts/draft-ietf-secsh-filexfer-10.txt
       (sftp).
       http://wiki.theory.org/BitTorrentSpecification
       http://www.bittornado.com/docs/multitracker-spec.txt
       http://www.rasterbar.com/products/libtorrent/dht_sec.html (DHT security
       extension)
       http://xbtt.sourceforge.net/udp_tracker_protocol.html (UDP tracker)

AUTHOR
       Alexander V. Lukyanov
       lav@yars.free.net

ACKNOWLEDGMENTS
       This  manual  page  was originally written by Christoph Lameter <clame‐
       ter@debian.org>, for the Debian GNU/Linux system. The page was improved
       and  updated  later by Nicolas Lichtmaier <nick@Feedback.com.ar>, James
       Troup   <J.J.Troup@comp.brad.ac.uk>   and   Alexander	V.    Lukyanov
       <lav@yars.free.net>.

				  15 Nov 2013			       lftp(1)
[top]

List of man pages available for Mageia

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net