Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
lftp(1)			    General Commands Manual		       lftp(1)

       lftp - Sophisticated file transfer program

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

       This man	page documents lftp version 4.8.1.

       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'. 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

       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 the 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 before all jobs are not finished yet,	lftp will move
       itself to nohup mode in background. The same thing happens with 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 be-
       tween 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  (or	~/.config/lftp/rc if ~/.lftp does not exist).  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)	it in-
       cludes software developed by the	OpenSSL	Project	for use	in the OpenSSL
       Toolkit.	(

       ! shell command

       Launch shell or shell command.


       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 lo-
				   cation to bookmarks	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  sec-
		   onds	(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

       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 [OPTS] mode files...

       Change permission mask on remote	files. The mode	can be an octal	number
       or a symbolic mode (see chmod(1)).

	      -c, --changes	like verbose but report	only when a change is made
	      -f, --quiet	suppress most error messages
	      -v, --verbose	output a diagnostic for	every file processed
	      -R, --recursive	change files and directories recursively

       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.

	      -1			 single-column output
	      -a, --all			 show dot files
	      -B, --basename		 show basename of files	only
		  --block-size=SIZ	 use SIZ-byte blocks
	      -d, --directory		 list  directory  entries  instead  of
	      -F, --classify		 append	 indicator  (one of /@)	to en-
	      -h, --human-readable	 print sizes in	human readable	format
					 (e.g.,	1K)
		  --si			 likewise,  but	use powers of 1000 not
	      -k, --kilobytes		 like --block-size=1024
	      -l, --long		 use a long listing format
	      -q, --quiet		 don't show status
	      -s, --size		 print size of each file
		  --filesize		 if printing size, only	print size for
	      -i, --nocase		 case-insensitive pattern matching
	      -I, --sortnocase		 sort names case-insensitively
	      -D, --dirsfirst		 list directories first
		  --sort=OPT		 "name", "size", "date"

	      -S			 sort by file size
		  --user, --group,
		  --perms, --date,
		  --linkcount, --links	 show individual fields
		  --time-style=STYLE	 use specified time format

       command cmd args...

       execute given command ignoring aliases.

       debug [OPTS] level|off

       Switch debugging	to level or turn it off. Options:

	      -T	truncate output	file
	      -o <file>	redirect debug output to the file
	      -c	show message context
	      -p	show PID
	      -t	show timestamps

       du [OPTS] path...

       Summarize disk usage. Options:

	      -a, --all		     write  counts for all files, not just di-
		  --block-size=SIZ   use SIZ-byte blocks
	      -b, --bytes	     print size	in bytes
	      -c, --total	     produce a grand total
	      -d, --max-depth=N	     print the total for a directory (or file,
				     with --all) only if it is N or fewer lev-
				     els  below	 the  command  line  argument;
				     --max-depth=0 is the same as --summarize
	      -F, --files	     print number of files instead of sizes
	      -h, --human-readable   print  sizes  in  human  readable	format
				     (e.g., 1K 234M 2G)
	      -H, --si		     likewise, but use powers of 1000 not 1024
	      -k, --kilobytes	     like --block-size=1024
	      -m, --megabytes	     like --block-size=1048576
	      -S, --separate-dirs    do	not include size of subdirectories
	      -s, --summarize	     display only a total for each argument
		  --exclude=PAT	     exclude files that	match PAT

       echo [-n] string

       Prints (echos) the given	string to the display.

       edit [OPTS] file

       Retrieve	remote file to a temporary location, run a local editor	on  it
       and upload the file back	if changed. Options:

	      -k	keep the temporary file
	      -o <temp>	explicit temporary file	location

       eval [-f	format ] args...

       without -f it 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 arguments.

       exit [bg] [top] [parent]	[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 ex-
       ecutor) terminate.  `exit parent' terminates the	parent shell when run-
       ning a nested script.  `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.


       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,    --ls	      use long listing format


       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] [-P N] [-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)
	      -P N	  download N files in parallel
	      -O <base>	  specifies base directory or URL  where  files
			  should be placed

	      get README
	      get README -o debian.README
	      get README README.mirrors
	      get README -o debian.README README.mirrors -o debian.mirrors
	      get README -o
	      get README -o   (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
	      -a			  use ascii mode (binary is the	default)
	      -d			  create the directory of the target file
	      --source-region=<from-to>	  transfer  specified  region  of  source
	      --target-position=<pos>	  position in target file to  write  data

       glob  [OPTS] [command] patterns

       Glob  given patterns containing metacharacters and pass result to given
       command or return appropriate exit code.

	      -f	    plain files	(default)
	      -d	    directories
	      -a	    all	types
	      --exist	    return zero	exit code when the patterns expand to non-empty	list
	      --not-exist   return zero	exit code when the patterns expand to an empty list

	      glob echo	*
	      glob --exist *.csv && echo "There	are *.csv files"

       help [cmd]

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

       history [OPTS] [cnt]

       View  or	 manipulate the	command	history.  Optional argument cnt	speci-
       fies the	number of history lines	to list, or "all" to list all entries.

	      -w <file>	Write history to file.
	      -r <file>	Read history from file;	appends	to current history.
	      -c	Clear the history.
	      -l	List the history (default).

       jobs [OPTS] [job_no...]

       List  running  jobs.  If	job_no is specified, only list a job with that
       number.	Options:

	      -v   verbose, several -v increase	verbosity
	      -r   list	just one specified job without recursion

       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


       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]	[-e] [-P N] [-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
	      -E	  delete source	files after successful transfer
	      -e	  delete target	file before the	transfer
	      -a	  use ascii mode (binary is the	default)
	      -P N	  download N files in parallel
	      -O <base>	  specifies  base  directory or	URL where files
			  should be placed

       mirror [OPTS] [source [target]]

       Mirror specified	source directory to the	target directory.

       By default the source is	remote and the target is  a  local  directory.
       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 di-
       rectories are used.

       The source and/or the target may	be URLs	pointing to directories.

       If the target directory ends with a slash (except the  root  directory)
       then base name of the source directory is appended.

	      -c,      --continue		  continue  a  mirror
						  job if possible
	      -e,      --delete			  delete  files	  not
						  present    at	  the
		       --delete-excluded	  delete  files	  ex-
						  cluded  at the tar-
		       --delete-first		  delete  old	files
						  before transferring
						  new ones
		       --depth-first		  descend into subdi-
						  rectories    before
						  transferring files
		       --scan-all-first		  scan	all  directo-
						  ries	  recursively
						  before transferring
	      -s,      --allow-suid		  set  suid/sgid bits
						  according  to	  the

		       --allow-chown		  try  to  set	owner
						  and group on files
		       --ascii			  use	ascii	 mode
						  transfers  (implies
		       --ignore-time		  ignore  time	 when
						  deciding whether to
		       --ignore-size		  ignore  size	 when
						  deciding whether to
		       --only-missing		  download only	miss-
						  ing files
		       --only-existing		  download only	files
						  already existing at
	      -n,      --only-newer		  download only	newer
						  files	  (-c	won't
		       --upload-older		  upload  even	files
						  older	than the tar-
						  get ones
		       --transfer-all		  transfer all files,
						  even seemingly  the
						  same	at the target
		       --no-empty-dirs		  don't	create	empty
						  directories	 (im-
	      -r,      --no-recursion		  don't	 go to subdi-
		       --recursion=MODE		  go  to  subdirecto-
						  ries on a condition
		       --no-symlinks		  don't	 create	 sym-
						  bolic	links
	      -p,      --no-perms		  don't	set file per-
		       --no-umask		  don't	 apply	umask
						  to file modes
	      -R,      --reverse		  reverse mirror (put
	      -L,      --dereference		  download   symbolic
						  links	as files
		       --overwrite		  overwrite	plain
						  files	 without  re-
						  moving them first
		       --no-overwrite		  remove and  re-cre-
						  ate plain files in-
						  stead	of  overwrit-
	      -N,      --newer-than=SPEC	  download only	files
						  newer	 than  speci-
						  fied time
		       --older-than=SPEC	  download only	files
						  older	 than  speci-
						  fied time
		       --size-range=RANGE	  download only	files
						  with size in speci-
						  fied range
	      -P,      --parallel[=N]		  download N files in
		       --use-pget[-n=N]		  use pget to  trans-
						  fer	every  single

		       --on-change=CMD		  execute the command
						  if   anything	  has
						  been changed
		       --loop			  repeat mirror	until
						  no changes found
	      -i RX,   --include=RX		  include    matching
	      -x RX,   --exclude=RX		  exclude    matching
	      -I GP,   --include-glob=GP	  include    matching
	      -X GP,   --exclude-glob=GP	  exclude    matching
		       --exclude-glob-from=FILE	  load	  include/ex-
						  clude	patterns from
						  the  file,  one per
	      -f FILE, --file=FILE		  mirror   a   single
						  file	 or   globbed
						  group		(e.g.
	      -F DIR,  --directory=DIR		  mirror a single di-
						  rectory or  globbed
						  group		(e.g.
	      -O DIR,  --target-directory=DIR	  target base path or
	      -v,      --verbose[=level]	  verbose operation
		       --log=FILE		  write	lftp commands
						  being	 executed  to
		       --script=FILE		  write	lftp commands
						  to FILE, but	don't
						  execute them
		       --just-print, --dry-run	  same as --script=-
		       --max-errors=N		  stop	 after	 this
						  number of errors
		       --skip-noaccess		  don't	try to trans-
						  fer  files  with no
						  read access.
		       --use-cache		  use  cached  direc-
						  tory listings
		       --Remove-source-files	  remove source	files
						  after	transfer (use
						  with caution)
		       --Remove-source-dirs	  remove source	files
						  and directories af-
						  ter  transfer	 (use
						  with caution).  Top
						  level	 directory is
						  not removed if it's
						  name	ends  with  a
		       --Move			  same	  as	--Re-
	      -a				  same	 as  --allow-
						  chown	 --allow-suid
       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.

       --upload-older  allows  replacing  newer	 remote	 files with older ones
       (when the target	side is	remote). Some remote back-ends cannot preserve
       timestamps so the default is to keep newer files.

       Recursion  mode	can  be	 one of	`always', `never', `missing', `newer'.
       With the	option `newer' mirror compares timestamps of  directories  and
       enters  a  directory only if it is older	or missing on the target side.
       Be aware	that when a file changes the directory timestamp may stay  the
       same, so	mirror won't process that directory.

       The  options --file and --directory may be used multiple	times and even
       mixed provided that base	directories of the paths are the same.

       You can mirror between two servers if you specify URLs instead  of  di-
       rectories.   FXP	 is  automatically  used  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'.

       The   recursion	 modes	 `newer'   and	 `missing'    conflict	  with
       --scan-all-first,   --depth-first,  --no-empty-dirs  and	 setting  mir-

       mkdir [-p] [-f] dir(s)

       Make remote directories.	If -p is used, make all	components  of	paths.
       The -f option makes mkdir quiet and suppresses messages.

       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]	[-e] [-P N] [-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 in-
			  stead	of current directory
	      -E	  delete source	files  after  successful
			  transfer (dangerous)
	      -e	  delete target	file before the	transfer
	      -a	  use ascii mode (binary is the	default)
	      -P N	  upload N files in parallel
	      -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.

       mmv [-O directory] file(s) directory

       Move specified files to a target	directory. The target directory	can be
       specified after -O option or as the last	argument.

	      -O <dir>	 specifies  the	target directory where files should be

       mv file1	file2

       Rename file1 to file2. No wildcard exmapsion is performed.  If you give
       more  than  two arguments, or the last argument ends with a slash, then
       mmv command is executed instead.

       nlist [args]

       List remote file	names

       open [OPTS] site

       Select a	server by host name, URL or bookmark. When an URL or  bookmark
       is given, automatically change the current working directory to the di-
       rectory of the URL.  Options:

	      -e cmd		execute	the command just after selecting the server
	      -u user[,pass]	use the	user/password for authentication
	      -p port		use the	port for connection
	      -s slot		assign the connection to this slot
	      -d		enable debug
	      -B		don't look up bookmarks
	      --user user	use the	user for authentication
	      --password pass	use the	password for authentication
	      --env-password	take password from LFTP_PASSWORD environment variable
	      site		host name, URL or bookmark name

       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.	  Re-
			   quires    lfile.lftp-pget-
			   status file.
	      -n maxconn   set maximum number of con-
			   nections (default is	taken
			   from	 pget:default-n	 set-

       put [-E]	[-a] [-c] [-e] [-P N] [-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

	      -o <rfile>   specifies  remote file name (default	-
			   basename of lfile)
	      -c	   continue, reput. It	requires  permis-
			   sion	to overwrite remote files
	      -E	   delete  source  files after successful
			   transfer (dangerous)
	      -e	   delete target file before the transfer
	      -a	   use ascii mode (binary is the default)
	      -P N	   upload N files in parallel
	      -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-

       `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.

	      >	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
	      queue -d "get*zip"     Delete   all   commands	matching

       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''.
	      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
	      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  de-
       lay 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.

	      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 re-
       spectively.  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-

       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


       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  or
       base32.	 Local	wildcards are expanded.	Existing files are first vali-
       dated unless --force-valid option is given. Missing  pieces  are	 down-
       loaded.	Files are stored in specified directory	or current working di-
       rectory by default. Seeding continues until ratio reaches torrent:stop-
       on-ratio	setting	or time	of torrent:seed-max-time runs out.


	      -O <directory>	       specifies  base	directory
				       where  files   should   be
	      --force-valid	       skip  file  validation (if
				       you are sure they are ok).
	      --only-new	       stop if	the  metadata  is
				       known  already or the tor-
				       rent is complete.
	      --only-incomplete	       stop if the torrent is al-
				       ready complete.
	      --dht-bootstrap=<node>   bootstrap DHT by	sending	a
				       query to	 specified  node.
				       This option should be used
				       just once to fill the  lo-
				       cal node	cache.	Port num-
				       ber  may	 be  given  after
				       colon,  default	is  6881.
				       Here are	 some  nodes  for
				       bootstrapping:  dht.trans-
	      --share		       share  specified	 file  or
				       directory using BitTorrent
				       protocol. Magnet	 link  is
				       printed when it's ready.

       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.


       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 to	terminate.

       zcat files

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

       zmore files

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

       On  startup,  lftp  executes  ~/.lftprc	and  ~/.lftp/rc	 (or   ~/.con-
       fig/lftp/rc  if	~/.lftp	 does  not  exist).  You can place aliases and
       `set' commands there. Some people prefer	to see	full  protocol	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 ~/.local/share/lftp/bookmarks or
	      ~/.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 ex-

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

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

       cmd:at-terminate	(string)
	      the  commands in string are executed before lftp terminates (ei-
	      ther 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 a command fails and the following command  is
	      unconditional  (i.e.  does  not begin with || or &&). lftp exits
	      after the	unconditional command is issued	without	executing it.

       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 the current remote site user is not default
	      \a     an	ASCII bell character (07)
	      \e     an	ASCII escape character (033)
	      \h     the remote	hostname you are connected to
	      \n     newline
	      \s     the name of the client (lftp)
	      \S     current slot name
	      \u     the username of the remote	site user you are logged in as
	      \U     the     URL     of	    the	    remote     site	(e.g.,
	      \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 re-
		     mote site
	      \l     the current working directory at the local	site
	      \L     the base name of the current working directory at the lo-
		     cal 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
	      \]     end a sequence of non-printing characters

       cmd:parallel (number)
	      Number  of jobs run in parallel in non-interactive mode. For ex-
	      ample, 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-

       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	~/.lo-
	      cal/share/lftp/cwd_history or ~/.lftp/cwd_history,  allowing  to
	      do ``cd -'' after	lftp restart. Default is true.

       cmd:save-rl-history (boolean)
	      when    true,    lftp   saves   readline	 history   to	~/.lo-
	      cal/share/lftp/rl_history	or ~/.lftp/rl_history  on  exit.   De-
	      fault is true.

       cmd:show-status (boolean)
	      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 de-
	      pend 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.

       dns:name	(string)
	      This setting can be used to substitute a host  name  alias  with
	      another  name  or	IP address. The	host name alias	is used	as the
	      setting closure, the substituted name or IP address  is  in  the
	      value. Multiple names or IP addresses can	be separated by	comma.

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

       file:use-lock (boolean)
	      when  true, lftp uses advisory locking on	local files when open-
	      ing them.

       file:use-fallocate (boolean)
	      when true, lftp uses fallocate(2)	or posix_fallocate(3) to  pre-
	      allocate storage space and reduce	file fragmentation in pget and
	      torrent commands.

       fish:auto-confirm (boolean)
	      when true, lftp answers ``yes'' to all ssh questions, in partic-
	      ular  to the question about a new	host key. Otherwise it answers

       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. For pri-
	      vate key authentication add `-i' option with the key file.

       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 ig-
	      nored.  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:catch-size (boolean)
	      when  there  is  no  support for SIZE command, try to catch file
	      size from	the "150 Opening data connection" reply.

       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:compressed-re (regex)
	      files with matching name will be considered compressed and "MODE
	      Z" will not be used for them.

       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-

       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

       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-

       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:mode-z-level	(number)
	      compression level	(0-9) for uploading with MODE Z.

       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

       ftp:port-range (from-to)
	      allowed port range for the local side of	the  data  connection.
	      Format  is min-max, or `full' or `any' to	indicate any port. De-
	      fault 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 a	FTP proxy which	uses FTP protocol, not
	      FTP over HTTP. Default value is taken from environment  variable
	      ftp_proxy	 if  it	 starts	with ``ftp://''. If your FTP proxy re-
	      quires 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-''	as user	name to	proxy, and ``password@proxy_password''
	      as password.

	      When set to ``joined-acct'', lftp	 sends	``
	      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''  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 ``'' as  user	 name.
	      The site password	is then	sent as	usual.

	      When   set  to  ``proxy-user@host'',  lftp  first	 sends	``USER'', 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  ig-
	      nore 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: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

       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 pro-
	      vides privacy and	transmission error correction. Was  cpu-inten-
	      sive on old CPUs.	Default	is true.

       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 true.

       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 (ex-
	      pects 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 re-
	      sponse. 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:too-many-re (regexp)
	      Decrease the  dynamic  connection	 limit	when  421  reply  line
	      matches this regular expression.

       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, lftp sends ALLO command before	uploading a file.

       ftp:use-feat (boolean)
	      when true	(default), lftp	uses FEAT  command  to	determine  ex-
	      tended 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  de-

       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-mlsd (boolean)
	      when  true,  lftp	will use MLSD command for directory listing if
	      supported	by the server.

       ftp:use-mode-z (boolean)
	      when true, lftp will use "MODE Z"	if supported by	the server  to
	      perform compressed transfers.

       ftp:use-pret (tri-boolean)
	      When  set	 to auto, usage	of PRET	command	depends	on FEAT	server
	      reply. Otherwise this setting tells whether to use  it  or  not.
	      PRET command informs the server about the	file to	be transferred
	      before PORT or PASV commands, so that the	server can adjust  the
	      data connection parameters.

       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

       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 to use it or not. In
	      short,  if a server supports TVFS	feature	then it	uses unix-like

       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  in-
	      terfaces,	 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  un-
	      known,  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:decode (boolean)
	      when  true, lftp automatically decodes the entity	in hftp	proto-
	      col when Content-Encoding	header value  matches  deflate,	 gzip,
	      compress,	x-gzip or x-compress.

       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).  De-
	      fault  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. When enabled, lftp will also use PROPPATCH to  set  file
	      modification time	after uploading.

       hftp:use-range (boolean)
	      when true, lftp will use Range header for	transfer restart.

       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.  De-
	      fault is on.

       http:accept,  http:accept-charset,  http:accept-encoding,  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

       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/ "param=value"

       http:decode (boolean)
	      when true, lftp automatically decodes the	entity	when  Content-
	      Encoding header value matches deflate, gzip, compress, x-gzip or

       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

       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 off. When enabled, lftp will also use PROPPATCH to set	`Last-
	      Modified'	property after a file upload.

       http:use-range (boolean)
	      when true, lftp will use Range header for	transfer restart.

       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.

       log:enabled (boolean)
	      when true, the log messages are output. The closure for this and
	      other  `log:'  variables is either `debug' for debug messages or
	      `xfer' for transfer logging.

       log:file	(string)
	      the target output	file for logging. When empty, stderr is	used.

       log:level (number)
	      the log verbosity	level. Currently it's only defined for `debug'

       log:max-size (number)
	      maximum size of the log file. When the size is reached, the file
	      is renamed and started anew.

       log:prefix-error	(string)

       log:prefix-note (string)

       log:prefix-recv (string)

       log:prefix-send (string)
	      the prefixes for corresponding types of debug messages.

       log:show-ctx (boolean)

       log:show-pid (boolean)

       log:show-time (boolean)
	      select additional	information in the log messages.

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

       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  mirror:ex-
	      clude-regex is empty.

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

       mirror:sort-by (string)
	      specifies	order of file transfers. Valid values are: name, name-
	      desc,  size,  size-desc, date, date-desc.	When the value is name
	      or name-desc, then mirror:order setting also affects  the	 order
	      or transfers.

       mirror:order (list of patterns)
	      specifies	 order	of  file  transfers when sorting by name. 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 directories after	other files, add  "*/"
	      to the end of pattern list.

       mirror:overwrite	(boolean)
	      when true, mirror	will overwrite plain files instead of removing
	      and re-creating them.

       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-

       mirror:parallel-transfer-count (number)
	      specifies	 number	 of  parallel  transfers  mirror is allowed to
	      start.  You can override it with --parallel option.   A  closure
	      can  be matched against source or	target host names, the minimum
	      number greater than 0 is used.

       mirror:require-source (boolean)
	      When true, mirror	requires a source directory  to	 be  specified
	      explicitly,  otherwise  it  is supposed to be the	current	direc-

       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

       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.  A	closure	can be matched against	source
	      or target	host names, the	minimum	number greater than 0 is used.
	      When the value is	less than 2, pget is not used.

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

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

       net:connection-limit-timer (time	interval)
	      increase the dynamic connection limit after this time interval.

       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-

       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

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

       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 re-
	      ceive 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

       If you specify a	closure, then rate limitation will be applied  to  sum
       of connections to a single matching host.

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

       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

       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 at-
	      tempts to	perform	an operation.

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

       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
	      reaches  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:min-chunk-size (number)
	      minimal chunk size to split the file to.

       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:auto-confirm (boolean)
	      when true, lftp answers ``yes'' to all ssh questions, in partic-
	      ular to the question about a new host key. Otherwise it  answers

       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'.  For private key authentication add `-i'	option
	      with the key file.

       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 6. The actual pro-
	      tocol version used depends on the	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.  This  setting  is  only
	      used  for	 ftps and https	protocols. For sftp and	fish protocols
	      use sftp:connect-program and  fish:connect-program  respectively
	      (add `-i'	option to ssh).

       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. You can specify either host name or certificate fin-
	      gerprint in the closure.

       ssl:priority (string)
	      free form	priority string	for GnuTLS. If built with OpenSSL  the
	      understood  values are + or - followed by	SSL3.0,	TLS1.0,	TLS1.1
	      or TLS1.2, separated by :. Example:
	      set ssl:priority "NORMAL:-SSL3.0:-TLS1.0:-TLS1.1:+TLS1.2"

       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  re-
	      moved 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:save-metadata (boolean)
	      when true, lftp saves metadata of	each torrent it	works with  to
	      ~/.local/share/lftp/torrent/md  or  ~/.lftp/torrent/md directory
	      and loads	it from	there if necessary.

       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

       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-min-ppr (real number)
	      minimum per-piece-ratio to stop seeding. Use it to avoid a situ-
	      ation when a popular piece causes	quick raise of the  total  ra-

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

       torrent:timeout (time interval)
	      maximum  time  without any progress. When	it's reached, the tor-
	      rent shuts down.

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

	      suggested	filenames provided by the server are used if user  ex-
	      plicitly	sets  this  option  to `on'. As	this could be security
	      risk, default is off.

       xfer:backup-suffix (string)
	      a	time format string (see	strftime(3)) for backup	file name when
	      replacing	an existing file.

       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

       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:keep-backup	(boolean)
	      when  true, the backup file created before replacing an existing
	      file is not removed after	successful transfer.

       xfer:make-backup	(boolean)
	      when true, lftp renames pre-existing  file  adding  xfer:backup-
	      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:parallel (number)
	      the  default  number  of	parallel   transfers   in   a	single
	      get/put/mget/mput	command.

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

       xfer:temp-file-name (string)
	      temporary	file name pattern, first asterisk is replaced  by  the
	      original file name.

       xfer:timeout (time interval)
	      maximum  time  without  any transfer progress. It	can be used to
	      limit maximum time to retry a transfer from a  server  not  sup-
	      porting transfer restart.

       xfer:use-temp-file (boolean)
	      when true, a file	will be	transferred to a temporary file	in the
	      same directory and then renamed.

       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 `log:' domain variables the	closure	is ei-
       ther `debug' or `xfer'.	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.

       -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   or	  LFTP_PASSWORD	 environment  variable	together  with
	      --env-password option. Alternatively you can use ssh-based  pro-
	      tocols  with authorized keys, so you don't have to enter a pass-

       --norc Don't execute rc files from the home directory.

       --rcfile	file
	      Execute commands from the	file. May be specified multiple	times.

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

       -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 (except --norc).

       Other open options may also be given on the lftp	command	line.

       The following environment variables are processed by lftp:

       EDITOR Used as local editor for the edit	command.

       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-

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

	      Used to set initial net:no-proxy variable.

	      Used to set initial module:path variable.

	      Used  to locate the directory that stores	user-specific configu-
	      ration files. If unset, ~/.lftp will be used. Please  note  that
	      if  this	directory does not exist, then XDG directories will be

	      Used for --env-password open option.

	      used to set initial color:dir-colors variable.

	      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.

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

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

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

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

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

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

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

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

       ~/.cache/lftp/edit/ or ~/.lftp/edit/"
	      The directory is used to store temporary files for edit command.

       ~/.local/share/lftp/torrent/md/ or ~/.lftp/torrent/md/"
	      The directory is used to store torrent  metadata.	 It  is	 espe-
	      cially  useful  for  magnet links, cached	metadata can be	loaded
	      from the directory.  It can also serve as	torrent	history,  file
	      names are	the info_hash of torrents.

	      The  file	 is  consulted	to get default login and password to a
	      server when it is	specified without a  protocol  to  the	`open'
	      command.	 Passwords  are	also searched here if an URL with user
	      name but with no password	is used.

       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),  RFC3659 (ftp	exten-
       sions), RFC4217 (ftp over ssl), BEP0003 (BitTorrent Protocol),  BEP0005
       (DHT  Protocol),	BEP0006	(Fast Extension), BEP0007 (IPv6	Tracker	Exten-
       sion), 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). (ftp	de-
       flate transmission mode), (PRET command),	(sftp). (DHT security
       extension) (UDP tracker)

       Alexander V. Lukyanov

       This  manual  page  was originally written by Christoph Lameter <clame->,	for the	Debian GNU/Linux system. The page was improved
       and  updated  later by Nicolas Lichtmaier <>, James
       Troup   <>   and   Alexander	V.    Lukyanov

				  10 Aug 2017			       lftp(1)


Want to link to this manual page? Use this URL:

home | help