man pages section 1: User Commands

Exit Print View

Updated: July 2014

ncftpget (1)


ncftpget - Internet file transfer program for scripts


ncftpget   [options]   remote-host  local-directory  remote-

ncftpget  -f  login.cfg  [options]  local-directory  remote-

ncftpget [options]

ncftpget -c [options] remote-host remote-file > stdout

ncftpget  -C  [options]  remote-host remote-file local-path-

ncftpget -c [options] >  std-


User Commands                                         ncftpget(1)

     ncftpget - Internet file transfer program for scripts

     ncftpget   [options]   remote-host  local-directory  remote-

     ncftpget  -f  login.cfg  [options]  local-directory  remote-

     ncftpget [options]

     ncftpget -c [options] remote-host remote-file > stdout

     ncftpget  -C  [options]  remote-host remote-file local-path-

     ncftpget -c [options] >  std-


     Command line flags:

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

     -j XX   Use account XX in supplement  to  the  username  and
             password (deprecated).

     -d XX   Use the file XX for debug logging.

     -a      Use ASCII transfer type instead of binary.

     -t XX   Timeout after XX seconds.

     -v/-V   Do  (do not) use progress meters.  The default is to
             use progress meters if the output stream is a TTY.

     -f XX   Read the file XX for host, user, and password infor-

     -c      Read  from remote host and write locally to standard

     -C      Read from remote host and write locally to specified

ncftpget           Last change: NcFTP Software                  1

User Commands                                         ncftpget(1)

     -A      Append  to local files, instead of overwriting them.

     -z/-Z   Do (do not) try to resume transfers.  The default is
             to try to resume (-z).

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

     -DD     Delete  remote  file  after successfully downloading

     -R      Recursive mode; copy whole directory trees.

     -T      Do not use automatic on-the-fly TAR mode  for  down-
             loading  whole  directory  trees.  ncftpget uses TAR
             whenever possible since this usually preserves  sym-
             bolic links and file permissions.  TAR mode can also
             result in faster transfers for directories  contain-
             ing many small files, since a single data connection
             can be used rather than an FTP data  connection  for
             each  small file.  The downside to using TAR is that
             it forces downloading of the whole  directory,  even
             if  you  had  previously  downloaded a portion of it
             earlier, so you may want to use this option  if  you
             want to resume downloading of a directory.

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

     -b      Run in background (by submitting  a  batch  job  and
             then spawning ncftpbatch).

     -bb     Similar  to  -b  option,  but only submits the batch
             job.  You will need to run ncftpbatch for the  batch
             job  to be processed.  This is useful if you already
             have a ncftpbatch process running, or wish  to  have
             better control of when batch jobs are processed.

             For example, if you wanted to do background process-
             ing of three files all on the same remote server, it
             is more polite to use just one ncftpbatch process to
             process the three  jobs  sequentially,  rather  than
             having  three ncftpbatch processes open three simul-
             taneous FTP sessions to the same server.

     -B XX   Try setting the TCP/IP  socket  buffer  size  to  XX

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

ncftpget           Last change: NcFTP Software                  2

User Commands                                         ncftpget(1)

     -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 ncftpget is to do  file  transfers  from  the
     command-line  without  entering  an interactive shell.  This
     lets you write shell scripts or other  unattended  processes
     that  can  do FTP.  It is also useful for advanced users who
     want to retrieve files from the shell command  line  without
     entering an interactive FTP program such as ncftp.

     One  particularly useful feature of this program is that you
     can give it a uniform resource locator as the only  argument
     and  the program will download that file.  You can then copy
     and paste from your web browser or newsreader and  use  that
     URL.  Example:

         $ cd /tmp
         $ ncftpget
         $ zcat ncftp.tar.Z | tar xf -

     By  default  the  program  tries to open the remote host and
     login anonymously, but you can specify a username and  pass-
     word  information.   The  -u  option  is used to specify the
     username to login as, and the -p option is used  to  specify
     the  password.   If  you  are  running  the program from the
     shell, you may omit the  -p  option  and  the  program  will

ncftpget           Last change: NcFTP Software                  3

User Commands                                         ncftpget(1)

     prompt you for the password.

     Using  the  -u  and  -p options are not recommended, because
     your account information is exposed to anyone  who  can  see
     your shell script or your process information.  For example,
     someone using the ps program could see your  password  while
     the program runs.

     You may use the -f option instead to specify a file with the
     account information.  However,  this  is  still  not  secure
     because  anyone  who has read access to the information file
     can see  the  account  information.   Nevertheless,  if  you
     choose  to  use the -f option the file should look something
     like this:

         user gleason
         pass mypasswd

     Don't forget to change the permissions on this  file  so  no
     one else can read them.

     The -d option is very useful when you are trying to diagnose
     why a file transfer is failing.  It prints  out  the  entire
     FTP  conversation to the file you specify, so you can get an
     idea of what went wrong.  If you specify  the  special  name
     stdout  as the name of the debugging output file, the output
     will instead print to the screen.  Example:

         $ ncftpget -d stdout . /pub/README
         220: FTP server ready.
         Connected to
         Cmd: USER anonymous
         331:  Guest  login ok, send your complete e-mail address
         as password.
         Cmd: PASS xxxxxxxx
         230: Welcome!
         Logged in to as anonymous.
         Cmd: TYPE I
         200: Type set to I.
         Cmd: PORT 192,168,9,37,6,76
         200: PORT command successful.
         Cmd: RETR /pub/README
         550: /pub/README: File in use.
         Cmd: QUIT
         221: Goodbye.

     Using ASCII mode is helpful when the  text  format  of  your
     host  differs from that of the remote host.  For example, if
     you are retrieving a .TXT file from a Windows-based host  to
     a  UNIX  system,  you  could use the -a flag which would use
     ASCII transfer mode so that the file  created  on  the  UNIX

ncftpget           Last change: NcFTP Software                  4

User Commands                                         ncftpget(1)

     system  would  be  in  the  UNIX  text format instead of the
     MS-DOS text format.

     You can retrieve an entire directory tree of files by  using
     the -R flag.  However, this will work only if the remote FTP
     server is a UNIX server, or  emulates  UNIX's  list  output.

         $ ncftpget -R /tmp /pub/ncftp

     This would create a /tmp/ncftp hierarchy.

     ncftpget 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

ncftpget           Last change: NcFTP Software                  5

User Commands                                         ncftpget(1)

     |Availability   | network/ftp/ncftp |
     |Stability      | Volatile          |
     ncftpput(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

ncftpget           Last change: NcFTP Software                  6