man pages section 1: User Commands

Exit Print View

Updated: July 2014

lftp (1)


lftp - Sophisticated file transfer program


Please see following description for synopsis


User Commands                                             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.3.0.

     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. 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 pro-
     tocol working over an ssh connection to a unix account. SFtp
     is a protocol implemented in ssh2 as sftp subsystem.

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

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

     lftp  has  shell-like  command syntax allowing you to launch
     several commands in parallel in background (&). It  is  also
     possible  to  group  commands  within () and execute them in
     background. All background jobs are  executed  in  the  same
     single process. You can bring a foreground job to background
     with ^Z (c-z) and back with command `wait' (or `fg' which is
     alias  to `wait'). To list running jobs, use command `jobs'.
     Some commands allow redirecting their output (cat, ls,  ...)
     to  file  or  via  pipe to external command. Commands can be
     executed conditionally based on termination status of previ-
     ous command (&&, ||).

SunOS 5.11           Last change: 16 Jun 2011                   1

User Commands                                             lftp(1)

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

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

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

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

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

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

     ! 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  undefined,  else  it takes the value value. If no
     argument is given the current aliases are listed.

          alias dir ls -lF
          alias less zmore

     at time [ -- command ]

SunOS 5.11           Last change: 16 Jun 2011                   2

User Commands                                             lftp(1)

     Wait until the given time and execute given (optional)  com-
     mand. See also at(1).

     attach  [PID]

     Attach  the terminal to specified backgrounded lftp process.

     bookmark  [subcommand]

     The bookmark command controls bookmarks.
          add <name> [<loc>]   add  current  place  or  given
                               location 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  follow-
     ing subcommands 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 zmore)

     cd rdir

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

     chmod mode files

     Change permission mask on remote files. The mode must be  an
     octal number.

     close [-a]

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

SunOS 5.11           Last change: 16 Jun 2011                   3

User Commands                                             lftp(1)

     cls [OPTS] files...

     `cls' tries to retrieve information about specified files or
     directories  and outputs the information according to format
     options. The difference between `ls' and `cls' is that  `ls'
     requests  the  server to format file listing, and `cls' for-
     mats it itself, after retrieving all the needed information.
     See `help cls' for options.

     command cmd args...

     execute given command ignoring aliases.

     debug [-o file] level|off

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

     echo [-n] string

     guess what it does.

     eval [-f format ] args...

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

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

     exit  will exit from lftp or move to background if there are
     active jobs. If no job is active, code is passed to  operat-
     ing 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-back-
     ground is false.  `exit top' makes top level `shell' (inter-
     nal lftp command executor) terminate.  `exit kill' kills all
     numbered  jobs  before exiting. 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  [directory]

     List  files  in the directory (current directory by default)
     recursively.  This can help with servers lacking ls -R  sup-
     port. You can redirect output of this command.

SunOS 5.11           Last change: 16 Jun 2011                   4

User Commands                                             lftp(1)


     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 transfer cannot be initiated or ftp:use-fxp
     is false.

     get [-E] [-a] [-c] [-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
          -a          use ascii mode (binary is the default)
          -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)
          --source-region=<from-to>   transfer  specified  region  of source
          --target-position=<pos>     position in target file to write  data

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

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

SunOS 5.11           Last change: 16 Jun 2011                   5

User Commands                                             lftp(1)

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

     help [cmd]

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

     jobs [-v]

     List running jobs. -v means verbose, several -v can be spec-

     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 creation 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

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

SunOS 5.11           Last change: 16 Jun 2011                   6

User Commands                                             lftp(1)

     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
          -a          use ascii mode (binary is the default)
          -O <base>   specifies base directory or URL  where  files
                      should be placed

     mirror [OPTS] [source [target]]

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

          -c,    --continue                continue a  mir-
                                           ror  job if pos-
          -e,    --delete                  delete files not
                                           present       at
                                           remote site
                 --delete-first            delete old files
                                           before transfer-
                                           ring new ones
                 --depth-first             descend     into
                                           before transfer-
                                           ring files
          -s,    --allow-suid              set    suid/sgid
                                           bits   according
                                           to remote site
                 --allow-chown             try to set owner
                                           and   group   on
                 --ascii                   use  ascii  mode
                 --ignore-time             ignore time when
                                           deciding whether
                                           to download
                 --ignore-size             ignore size when
                                           deciding whether
                                           to download
                 --only-missing            download    only
                                           missing files

SunOS 5.11           Last change: 16 Jun 2011                   7

User Commands                                             lftp(1)

                 --only-existing           download    only
                                           files    already
                                           existing at tar-
          -n,    --only-newer              download    only
                                           newer  files (-c
                                           won't work)
                 --no-empty-dirs           don't     create
                                           empty   directo-
                                           ries    (implies
          -r,    --no-recursion            don't go to sub-
                 --no-symlinks             don't     create
                                           symbolic links
          -p,    --no-perms                don't  set  file
                 --no-umask                don't      apply
                                           umask   to  file
          -R,    --reverse                 reverse   mirror
                                           (put files)
          -L,    --dereference             download    sym-
                                           bolic  links  as
          -N,    --newer-than=SPEC         download    only
                                           files newer than
                                           specified time
                 --on-change=CMD           execute the com-
                                           mand if anything
                                           has been changed
                 --older-than=SPEC         download    only
                                           files older than
                                           specified time
                 --size-range=RANGE        download    only
                                           files  with size
                                           in     specified
          -P,    --parallel[=N]            download N files
                                           in parallel
                 --use-pget[-n=N]          use   pget    to
                                           transfer   every
                                           single file
                 --loop                    loop  until   no
                                           changes found
          -i RX, --include RX              include matching
          -x RX, --exclude RX              exclude matching
          -I GP, --include-glob GP         include matching

SunOS 5.11           Last change: 16 Jun 2011                   8

User Commands                                             lftp(1)

          -X GP, --exclude-glob GP         exclude matching
          -v,    --verbose[=level]         verbose   opera-
                 --log=FILE                write lftp  com-
                                           mands being exe-
                                           cuted to FILE
                 --script=FILE             write lftp  com-
                                           mands  to  FILE,
                                           but  don't  exe-
                                           cute them
                 --just-print, --dry-run   same          as
                 --use-cache               use       cached
                                           directory  list-
                 --Remove-source-files     remove     files
                                           after   transfer
                                           (use  with  cau-
          -a                               same as --allow-
                                           chown   --allow-
                                           suid --no-umask

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

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

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

     Include and exclude options can be specified multiple times.
     It means that a file or directory would be  mirrored  if  it
     matches  an include and does not match to excludes after the
     include, or does not match anything 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 option --newer-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 modi-
     fication time of that file will be used.

SunOS 5.11           Last change: 16 Jun 2011                   9

User Commands                                             lftp(1)

     Verbosity level can be selected using --verbose=level option
     or by several -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 differ-
     ent. By default older  files  are  transferred  and  replace
     newer ones.

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

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

     mkdir [-p] dir(s)

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

     module module [ args ]

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

     more files

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

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

     Upload files with wildcard expansion. By default it uses the
     base name of local name as remote one. This can  be  changed
     by `-d' option.
          -c          continue, reput
          -d          create directories the same as in file
                      names and  put  the  files  into  them
                      instead of current directory
          -E          delete  source  files after successful
                      transfer (dangerous)
          -a          use ascii mode (binary is the default)

SunOS 5.11           Last change: 16 Jun 2011                  10

User Commands                                             lftp(1)

          -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

     mv file1 file2

     Rename file1 to file2.

     nlist [args]

     List remote file names

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

     Select an ftp server.

     pget [OPTS] rfile [-o lfile]

     Gets the specified file using several connections. This  can
     speed  up  transfer,  but  loads  the net and server heavily
     impacting other users. Use only if you really have to trans-
     fer the file ASAP.  Options:
          -c           continue     transfer.
                       Requires   lfile.lftp-
                       pget-status file.
          -n maxconn   set  maximum number of
                       connections   (default
                       is      taken     from
                       pget:default-n    set-

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

     Upload lfile with remote name rfile. If -o omitted, the base
     name of lfile is used as remote name. Does not expand  wild-
     cards, use mput for that.
          -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)
          -a           use ascii mode (binary is the default)
          -O <base>    specifies base directory or URL  where
                       files should be placed

     pwd [-p]

SunOS 5.11           Last change: 16 Jun 2011                  11

User Commands                                             lftp(1)

     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 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 execution.  When you exit
     lftp, it will start all stopped queues automatically.

     `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

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

SunOS 5.11           Last change: 16 Jun 2011                  12

User Commands                                             lftp(1)

          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 <com-
     mand>  [<args>]''.   Command  may   be   ``set-cookie''   or
          quote set-cookie "variable=value; othervar=othervalue"
          set http:post-content-type application/x-www-form-urlencoded
          quote post /cgi-bin/script.cgi "var=value&othervar=othervalue" > local_file

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

     reget rfile [-o lfile]

     Same as `get -c'.

     rels [args]

     Same as `ls', but ignores the cache.

     renlist [args]

     Same as `nlist', but ignores the cache.

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

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

          -c <count>    maximum number of iterations
          -d <delay>    delay between iterations

SunOS 5.11           Last change: 16 Jun 2011                  13

User Commands                                             lftp(1)

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

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

          -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 min-
     utes, hours and days respectively.  See also at.

     slot [name]

SunOS 5.11           Last change: 16 Jun 2011                  14

User Commands                                             lftp(1)

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

     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 speci-
     fied external 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  com-

     torrent [OPTS] torrent-files...

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

          -O <directory>   specifies base  direc-
                           tory    where    files
                           should be placed
          --force-valid    skip  file  validation
                           (if  you are sure they
                           are ok).

     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.


SunOS 5.11           Last change: 16 Jun 2011                  15

User Commands                                             lftp(1)

     Print lftp version.

     wait [jobno]
     wait all

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

     `wait all' waits for all jobs termination.

     zcat files

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

     zmore files

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

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

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

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

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

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

     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 without protocol. Default is `ftp'.

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

     cmd:interactive (boolean)

SunOS 5.11           Last change: 16 Jun 2011                  16

User Commands                                             lftp(1)

          when true, lftp acts  interactively,  handles  terminal
          signals   and  outputs  some  extra  messages.  Default
          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

     cmd:ls-default (string)
          default ls argument

     cmd:move-background (boolean)
          when false, lftp refuses to go to background when exit-
          ing. To force it, use `exit bg'.

     cmd:move-background-detach (boolean)
          when true (default), lftp detaches itself from the con-
          trol terminal 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 special characters that are decoded as follows:
          \@   insert @ if current user is not default
          \a   an ASCII bell character (07)
          \e   an ASCII escape character (033)
          \h   the hostname you are connected to
          \n   newline
          \s   the name of the client (lftp)
          \S   current slot name
          \u   the username of the user you are logged in as
          \U   the    URL    of    the    remote    site   (e.g.,
          \v   the version of lftp (e.g., 2.0.3)
          \w   the current working directory at the remote site
          \W   the base name of the current working directory  at
               the remote site
          \nnn the  character  corresponding  to the octal number
          \\   a backslash
          \?   skips next character if previous substitution  was
          \[   begin a sequence of non-printing characters, which
               could be used to embed a terminal control sequence
               into the prompt
          \]   end a sequence of non-printing characters

SunOS 5.11           Last change: 16 Jun 2011                  17

User Commands                                             lftp(1)

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

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

     cmd:save-cwd-history (boolean)
          when  true,  lftp  saves  last  CWD  of  each  site  to
          ~/.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
          ~/.lftp/rl_history on exit.  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 ter-
          minal 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

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

SunOS 5.11           Last change: 16 Jun 2011                  18

User Commands                                             lftp(1)

     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:remote-completion (boolean)
          a boolean to control whether or not  lftp  uses  remote

     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'  command  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 veri-
          fication will depend on cmd:verify-path setting.

     color:use-color (boolean)
          when  true,  cls  command and completion output colored
          file listings according to color:dir-colors setting.

     color:dir-colors (string)
          file listing color description. By default the value of
          LS_COLORS  environment  variable  is  used. See dircol-

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

SunOS 5.11           Last change: 16 Jun 2011                  19

User Commands                                             lftp(1)

     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
          expiration, 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  fam-
          ily,  then inet and use them in that order.  To disable
          inet6 (AAAA) lookup, set this variable to ``inet''.

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

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

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

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

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

     fish:shell (string)
          use specified shell on server side. Default is /bin/sh.
          On  some systems, /bin/sh exits when doing cd to a non-
          existent directory. lftp can handle that but it has  to

SunOS 5.11           Last change: 16 Jun 2011                  20

User Commands                                             lftp(1)

          reconnect. Set it to /bin/bash for such systems if bash
          is installed.

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

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

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

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

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

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

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

     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 com-
          mand,  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 disposition fails too, lftp falls back to
          plain copy. See also ftp:use-fxp.

SunOS 5.11           Last change: 16 Jun 2011                  21

User Commands                                             lftp(1)

     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

     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

     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 (hidden) files by default.  Default is  empty.

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

     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 com-
          mand 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 trans-
          fer. Passive mode is the default.

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

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

     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

SunOS 5.11           Last change: 16 Jun 2011                  22

User Commands                                             lftp(1)

          to  empty  string.  Note  that it is an 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 requires authentica-
          tion,  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
          ``''  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 password 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'' fol-
          lowed by ``USER user''.  The site password is then sent
          as usual.

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

          When  set  to  ``proxy-user@host'',  lftp  first  sends
          ``USER'',  then proxy pass-
          word. The site user  and  password  are  then  sent  as

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

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

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

SunOS 5.11           Last change: 16 Jun 2011                  23

User Commands                                             lftp(1)

     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 sup-
          port 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 settings are only available if  lftp  was
          compiled with an ssl/tls library.

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

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

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

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

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

     ftp:ssl-use-ccc (boolean)

SunOS 5.11           Last change: 16 Jun 2011                  24

User Commands                                             lftp(1)

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

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

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

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

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

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

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

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

     ftp:use-ip-tos (boolean)
          when  true,  lftp  uses  IPTOS_LOWDELAY   for   control

SunOS 5.11           Last change: 16 Jun 2011                  25

User Commands                                             lftp(1)

          connection and IPTOS_THROUGHPUT for data connections.

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

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

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

     ftp:use-site-idle (boolean)
          when true, lftp sends `SITE IDLE' command with net:idle
          argument. 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  deter-
          mine file size.

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

     ftp:use-stat-for-list (boolean)
          when  true,  lftp uses STAT instead of LIST command. By
          default `.' is used as STAT argument. Using STAT,  lftp
          avoids  creating data connection for directory listing.
          Some servers require  special  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

SunOS 5.11           Last change: 16 Jun 2011                  26

User Commands                                             lftp(1)

          prefix ABOR and STAT commands with TELNET IP+SYNCH sig-

     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 connection spoofing which can lead to data
          corruption. Unfortunately, this can  fail  for  certain
          ftp  servers with several network interfaces, when they
          do not set outgoing address on data socket,  so  it  is
          disabled by default.

     ftp:verify-port (boolean)
          verify  that  data connection has port 20 (ftp-data) on
          its remote end.  This can possibly prevent data connec-
          tion  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

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

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

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

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

SunOS 5.11           Last change: 16 Jun 2011                  27

User Commands                                             lftp(1)

     hftp:use-authorization (boolean)
          if  set  to off, lftp will send password as part of URL
          to the proxy. This may be  required  for  some  proxies
          (e.g.  M-soft). Default is on, and lftp will send pass-
          word as part of Authorization 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 under-
          stand 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 directory contents with hftp protocol and use `GET'
          instead. Default is off.

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

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

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

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

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

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

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

     http:proxy (URL)

SunOS 5.11           Last change: 16 Jun 2011                  28

User Commands                                             lftp(1)

          specifies http proxy. It is used when lftp  works  over
          http protocol.  Default value is taken from environment
          variable http_proxy.  If your proxy requires  authenti-
          cation, specify user name and password in the URL.

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

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

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

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

     http:use-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 directory contents with http protocol and use `GET'
          instead. Default is on.

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

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

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

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

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

SunOS 5.11           Last change: 16 Jun 2011                  29

User Commands                                             lftp(1)

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

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

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

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

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

     mirror:skip-noaccess (boolean)
          when true, mirror does not try to download files  which
          are  obviously  unaccessible  by  the  permission mask.
          Defaule is false.

     mirror:use-pget-n (number)
          specifies -n option for pget command used  to  transfer
          every single file under mirror. Default is 1 which dis-
          ables pget.

     module:path (string)
          colon separated list of directories to  look  for  mod-
          ules.   Can  be  initialized  by  environment  variable

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

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

SunOS 5.11           Last change: 16 Jun 2011                  30

User Commands                                             lftp(1)

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

     net:limit-rate (bytes per second)
          limit  transfer rate on data connection. 0 means unlim-
          ited. You can specify two numbers separated by colon to
          limit download and upload rate separately.

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

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

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

     net:max-retries (number)
          the maximum number of sequential retries of  an  opera-
          tion without success.  0 means unlimited.

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

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

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

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

SunOS 5.11           Last change: 16 Jun 2011                  31

User Commands                                             lftp(1)

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

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

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

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

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

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

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

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

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

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

     sftp:max-packets-in-flight (number)
          The  maximum  number of unreplied packets in flight. If
          round trip time is  significant,  you  should  increase

SunOS 5.11           Last change: 16 Jun 2011                  32

User Commands                                             lftp(1)

          this and size-read/size-write. Default is 16.

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

     sftp:server-program (string)
          The server program implementing SFTP  protocol.  If  it
          does  not  contain a slash `/', it is considered a ssh2
          subsystem and -s option is used when starting  connect-
          program.   Default is `sftp'. You can use rsh as trans-
          port 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  certifi-

     ssl:ca-path (path to directory)
          use  specified  directory as Certificate Authority cer-
          tificate 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 cer-

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

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

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

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

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

SunOS 5.11           Last change: 16 Jun 2011                  33

User Commands                                             lftp(1)

          Certificate Revocation List.

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

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

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

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

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

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

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

     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  commands.   Default is empty, which means current
          directory (no -O option).

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

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

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

SunOS 5.11           Last change: 16 Jun 2011                  34

User Commands                                             lftp(1)

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

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

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

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

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

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

     xfer:verify-command (string)
          the  command to validate file integrity. The only argu-
          ment 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 several 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 variables 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 current URL without
     path.  For other variables it is  not  currently  used.  See
     examples in the sample lftp.conf.

     Certain  commands  and settings take a time interval parame-
     ter. 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'.

SunOS 5.11           Last change: 16 Jun 2011                  35

User Commands                                             lftp(1)

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

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

  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.  Sometimes this does not work, thus synchro-
     nous 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 net-
     work packet.

     RFC959 says:  ``The  user-process  sending  another  command
     before  the completion reply would be in violation of proto-
     col; but server-FTP processes should queue any commands that
     arrive  while  a  preceding  command is in progress''. Also,
     RFC1123 says: ``Implementors MUST NOT assume any  correspon-
     dence  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 com-

     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 several 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

     -f script_file
          Execute commands in the file and exit

     -c commands

SunOS 5.11           Last change: 16 Jun 2011                  36

User Commands                                             lftp(1)

          Execute the given commands and exit.  Commands  can  be
          separated with a semicolon, `&&' or `||'.

     The following environment variables are processed by lftp:

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

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

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

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

          Used to set initial net:no-proxy variable.

          Used to set initial module:path variable.

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

          used to set initial color:dir-colors variable.

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

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

          The  file things are logged to when lftp moves into the

SunOS 5.11           Last change: 16 Jun 2011                  37

User Commands                                             lftp(1)

          background in nohup mode.

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

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

          The  file is used to store last working directories for
          each site visited.

          The directory is used to store named sockets for  back-
          grounded lftp processes.

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

     See   attributes(5)   for   descriptions  of  the  following

     |Availability   | network/ftp/lftp |
     |Stability      | Uncommitted      |
     ftpd(1M), ftp(1)
     RFC854 (telnet), RFC959 (ftp), RFC1123, RFC1945  (http/1.0),
     RFC2052 (SRV RR), RFC2228 (ftp security extensions), RFC2389
     (ftp FEAT), RFC2428 (ftp/ipv6),  RFC2518  (WebDAV),  RFC2616
     (http/1.1),  RFC2617 (http/1.1 authentication), RFC2640 (ftp
     i18n), RFC4217 (ftp over ssl).
     mlst-16.txt (ftp extensions over RFC959),
     filexfer-10.txt (sftp).

SunOS 5.11           Last change: 16 Jun 2011                  38

User Commands                                             lftp(1)

     Alexander V. Lukyanov

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

     This   software   was   built   from   source  available  at   The   original
     community       source       was       downloaded       from

     Further information about this software can be found on  the
     open source community website at

SunOS 5.11           Last change: 16 Jun 2011                  39