man pages section 1: User Commands

Exit Print View

Updated: July 2014

ncftpls (1)


ncftpls - Internet file transfer program for scripts


ncftpls [options]


User Commands                                          ncftpls(1)

     ncftpls - Internet file transfer program for scripts

     ncftpls [options]


     Command line flags:

     -m      Use  a  machine  readable list format, if the server
             supports it.  This requires that the server software
             support  the  MLSD  extensions, and many implementa-
             tions do not have these features.

     -1      Most basic format, one item per line.

     -l      Long list format.

     -C      Columnized list format. This  is  the  default  list

     -R      Recurse all subdirectories while listing.

     -a      Show  all files, if server allows it (as in "/bin/ls

     -i XX   Filter the listing (if server supports it) with  the
             wildcard XX.

     -x -XX  Set the ls flags to use on the server.

     -u XX   Use username XX instead of anonymous.

     -p XX   Use password XX with the username.

     -P XX   Use  port  number XX instead of the default FTP ser-
             vice port (21).

     -d XX   Use the file XX for debug logging.

     -t XX   Timeout after XX seconds.

     -E      Use regular (PORT) data connections.

     -F      Use passive (PASV) data connections.  The default is
             to  use  passive,  but to fallback to regular if the
             passive connection fails or times out.

     -r XX   Redial a maximum of XX times until connected to  the
             remote FTP server.

ncftpls            Last change: NcFTP Software                  1

User Commands                                          ncftpls(1)

     -W XX   Send raw FTP command XX after logging in.

     -X XX   Send raw FTP command XX after each file transferred.

     -Y XX   Send raw FTP command XX before logging out.

             The -W, -X, and -Y options are useful  for  advanced
             users  who  need  to tweak behavior on some servers.
             For example, users accessing mainframes  might  need
             to  send some special SITE commands to set blocksize
             and record format information.

             For these options, you can use them  multiple  times
             each if you need to send multiple commands.  For the
             -X option, you can use the cookie %s to expand  into
             the name of the file that was transferred.

     -o XX   Set advanced option XX.

             This  option  is  used  primarily for debugging.  It
             sets the value of an internal variable to an integer
             value.  An example usage would be: -o useFEAT=0,use-
             CLNT=1 which in this case, disables use of the  FEAT
             command and enables the CLNT command.  The available
             variables include: usePASV, useSIZE, useMDTM,  useR-
             EST,   useNLST_a,   useNLST_d,   useFEAT,   useMLSD,
             useMLST, useCLNT, useHELP_SITE, useSITE_UTIME, STAT-
             fileParamWorks,    NLSTfileParamWorks,    require20,
             allowProxyForPORT, doNotGetStartCWD.

     The purpose of ncftpls is to do  remote  directory  listings
     using  the File Transfer Protocol without entering an inter-
     active shell.  This lets you write shell  scripts  or  other
     unattended processes that can do FTP.

     The  default  behavior  is to print the directory listing in
     columnized format (i.e. ls -CF), but that is not very useful
     for  scripting.  This example uses the -1 flag, to print one
     file per line:

         $ ncftpls -1

     You can also do a remote "ls -l", by using "ncftpls -l".  If
     you  want  to try other flags, you have to use them with the
     -x flag.   For  example,  if  you  wanted  to  do  a  remote
     "ls -lrt", you could do this:

         $ ncftpls -x "-lrt"

     By  default  the  program  tries to open the remote host and
     login anonymously,  but  you  can  specify  a  username  and

ncftpls            Last change: NcFTP Software                  2

User Commands                                          ncftpls(1)

     password information like you can with ncftpget or ncftpput.

     Note that the standard specifies that URL pathnames are  are
     relative  pathnames.   For FTP, this means that URLs specify
     relative pathnames from the start directory, which for  user
     logins,  are  typically  the  user's home directory.  If you
     want to use absolute pathnames, you need to include  a  lit-
     eral slash, using the "%2F" code for a "/" character.  Exam-

         $ ncftpls -u linus
         $ ncftpls

     ncftpls returns the following exit values:

     0       Success.

     1       Could not connect to remote host.

     2       Could not connect to remote host - timed out.

     3       Transfer failed.

     4       Transfer failed - timed out.

     5       Directory change failed.

     6       Directory change failed - timed out.

     7       Malformed URL.

     8       Usage error.

     9       Error in login configuration file.

     10      Library initialization failed.

     11      Session initialization failed.

     Mike Gleason, NcFTP Software (

     See  attributes(5)  for  descriptions   of   the   following

ncftpls            Last change: NcFTP Software                  3

User Commands                                          ncftpls(1)

     |Availability   | network/ftp/ncftp |
     |Stability      | Volatile          |
     ncftpput(1), ncftpget(1), ncftp(1), ftp(1), rcp(1), tftp(1).

     LibNcFTP (

     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

ncftpls            Last change: NcFTP Software                  4