home | help
ftpls(1)			  User Commands 			ftpls(1)

NAME
     ftpls - generate a ftp directory listing.

SYNOPSIS
     ftpls [options] host[:port] [remotedir]
	or: ftpls [options] URL

DESCRIPTION
     ftpls  generates  a listing of files and directories in a FTP directory. By
     default it prints a human readable ascii output, but may also  create  HTML
     and machine parsable output.

OPTIONS
   Connect / login / username / password options:
     -u, --user=NAME
	    Use NAME to login on the ftp server.
	    The  default  is `anonymous'. Use an empty name to force the program
	    to not log in.

     -p, --pass=PASSWORD
	    Use PASS as password to login on the ftp server.
	    The default is `anonymous@invalid.example'. If an empty password  is
	    given the programm will not send a password to the server.

     --account=ACCOUNT
	    Send ACCOUNT as account name during login phase.
	    Note:  this  is  _not_  the user name, but the name of what could be
	    called a subaccount implemented by a few servers. If you  don't  un-
	    derstand what it means you have a good chance to never need this op-
	    tion  anyway.  If you think you need it please try the --user option
	    first.

     --tries=ARG
	    Number of tries to connect and log in.
	    The default is 1, meaning that the program will give  up  after  the
	    first error.
	    This option was added in version 0.3.0.

     --data-connect-retries=ARG
	    Number of tries to connect to data port.
	    The  program will try to reach the data port (for retrieval of list-
	    ings or data) that many times and will give up after that  many  er-
	    rors  in a row. The default is 5, meaning that the program will give
	    up after the fifth error.
	    This option was added in version 0.6.6. The  old  behaviour  was  to
	    give up after the first error.

     --login-sleep=ARG
	    Seconds to sleep after a failed login.
	    More precisely: the program will fall to sleep for this many seconds
	    after a try to connect or login has failed. The default is 5. A 0 is
	    treated as 1, and abuse, especially together with --tries, is likely
	    to annory the servers adminstrators.
	    This option was added in version 0.4.5.

     -4, --v4
	    Only use IPv4, even if v6 is available.
	    This  option  effectively  disallows the use of IPv6, except for DNS
	    queries.
	    It was added in version 0.6.0.

     -6, --v6
	    Only use IPv6, even if v4 is available.
	    This option effectively disallows the use of IPv4,	except	for  DNS
	    queries.
	    It was added in version 0.6.0.

   Operational options:
     --interactive
	    Read directories from stdin.
	    This  option tells ftpls to ignore any directories given on the com-
	    mand line, and to read the directories to list from the standard in-
	    put, reading one directory per line.ftpls will print an  END-OF-COPY
	    line  after  each  operation.  Do  not use this option together with
	    --html.
	    This option was added in version 0.3.6 and will be removed in future
	    versions, unless someone objects.

     -T, --timeout=SECONDS
	    Timeout to use for network read/write.
	    The default is 30 seconds and is usually sufficient.
	    This option was added in version 0.3.8.

     -R, --recursive
	    Do recursive listing.
	    This option makes ftpls descend through the directory hierarchy  and
	    list all the directories and files it files. A top level directories
	    content  will  be printed completely before the sub directories will
	    be traversed.

     --raw  Raw output in original format.
	    This will preserve the original format and sort order.

     --max-depth=ARG
	    Descend at most LEVEL directories.
	      0 means `do not enter sub directories at all',
	      1 means `enter sub-directories, but not their sub-directories'.
	    The default is 2^32-1 meaning `enter all'.
	    This option enables the --recursive option.

   Sorting options:
     -a, --alpha
	    sort alphabetical.

     -z, --omega
	    sort reverse alphabetical.

     -n, --newest
	    sort youngest first.

     -o, --oldest
	    sort oldest first.

     -s, --shortest
	    sort shortest first.

     -l, --longest
	    sort longest first.

   Output options:
     -h, --html
	    Create HTML index.
	    The index will contain all files together with modification time and
	    size.
	    Note: The links in this index will contain username and password  if
	    you include them into an URL given to ftpls on the command line (ei-
	    ther  as  argument or through the --urlprefix option). They will not
	    be included otherwise, for security and privacy reasons.

     -m, --machine
	    Create machine parsable output.

     -t, --title=TEXT
	    Title text to use on the HTML output.

     -U, --urlprefix=URL
	    URL-Prefix to use in listings.
	    If this option is not given then an URL given on  the  command  line
	    will be used instead, and if this  has not been given an URL will be
	    created from host, port and directory given on the command line.

     --print-dir
	    Print sub directory names.
	    This  option  makes  ftpls	print  the name of a directory before it
	    lists it's content. Note that the name of the top level directory of
	    each listing will not be printed. This option is meant  to	be  used
	    together with --raw, and will not create useful output together with
	    --html.

   Workaround options:
     --ascii-listings
	    Do directory listings in ASCII mode.
	    Use this option if the FTP server is unable to correctly list direc-
	    tories  in	binary mode, for example, if you see a message like this
	    (usually on one line):
	    `fatal: received unwanted answer to LIST: 426 Data connection: Ille-
	    gal seek.'
	    This option was added in version 0.5.2.

     -L, --list-options=OPTS
	    Add OPTS to LIST command.
	    This allows to pass arbitrary options to the FTP servers  LIST  com-
	    mand.  Note that ftpcopy does not cope well with recursive directory
	    listings.
	    This option was added in version 0.3.0.

     --allow-pasv-ip=IP4
	    Allow data connections to the address IP4.
	    Normally ftpls only accepts data connections to the IP addresses  it
	    received  as  an answer to the DNS request, or the IP address in the
	    URL. Sometimes this is not enough, especially when NAT or masquerad-
	    ing are active. ftpcopy then prints an error message `illegal  redi-
	    rect  by FTP server'. With this option, which may be given more than
	    once, you can add additional addresses to the internal list  of  al-
	    lowed  data  connection  targets. IP4 has to be an IPv4 address or a
	    list of IPv4 addresses, separated by commas.
	    The environment variable FTPCOPY_ALLOW_PASV_IP serves the same  pur-
	    pose.
	    Note:  Do not use this option without thinking: FTP redirects may be
	    used to launch denial of service attacks against innocent targets.
	    This option was added in version 0.6.1.

     --force-select
	    Use select, not poll.
	    Do not use the poll() system call even if it's  available,	but  use
	    select()  instead.	This allows the program to be used together with
	    runsocks from the socks5 reference implementation.
	    Please note that you will need a directly reachable name server any-
	    way, as the DNS library in use does not support SOCKS (you	can  al-
	    ways use IP addresses).
	    This option was added in version 0.3.8.

   Help options:
     --examples
	    Show usage examples.

     --see-also
	    Where to find related information.

     --version
	    Show version: ftpls (ftpcopy) 0.6.7.

     --help
	    Show a list of options or the long help on one.
	    The use with an argument shows the long help text
	    of that option, without an argument it will list
	    all options.

     --longhelp
	    Show longer help texts for all or one option.

EXAMPLES
     Generate a HTML index page:
       ftpls \
       --html --title 'CVS tree index by date' \
       --urlprefix ftp://ftp.ohse.de/uwe/cvs-trees/  \
       --newest \
       ftp://serak.ohse.de/uwe/cvs-trees \
       > SOMEWHERE/cvs-trees/index-by-date.html

COPYRIGHT
     Copyright (C) 2003 Uwe Ohse.

     The software comes with NO WARRANTY, to the extent permitted by law.

     This package is published unter the terms of the GNU General Public License
     version   2.  Later  versions  of	the  GPL  may  or  may	not  apply,  see
     http://www.ohse.de/uwe/licenses/

AUTHOR
     Uwe Ohse, <uwe@ohse.de>.

MORE INFORMATION
     Please report bugs to <ftpcopy@lists.ohse.de>

SEE ALSO
     ftpcopy(1) creates and maintains ftp mirrors.

     The ftpcopy package has a mailing list. Send an empty mail to <ftpcopy-sub-
     scribe@lists.ohse.de> to subscribe to it.

     The ftpcopy homepage is at
       http://www.ohse.de/uwe/ftpcopy.html

				   2026-08-30				ftpls(1)

home | help