man pages section 1: User Commands

Exit Print View

Updated: July 2014

ncftpput (1)


ncftpput - Internet file transfer program for scripts


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

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

ncftpput -c remote-host remote-path-name < stdin

ncftpput -C remote-host local-path-name remote-path-name


User Commands                                         ncftpput(1)

     ncftpput - Internet file transfer program for scripts

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

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

     ncftpput -c remote-host remote-path-name < stdin

     ncftpput -C remote-host local-path-name remote-path-name


     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.

     -m      Attempt  to  make  the  remote destination directory
             before copying.

     -t XX   Timeout after XX seconds.

     -U XX   Use value XX for the umask.

     -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 locally from standard input and write  remotely
             to specified pathname.

     -C      Similar to -c, except a local pathname is specified.

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

ncftpput           Last change: NcFTP Software                  1

User Commands                                         ncftpput(1)

     -T XX   Upload into temporary files prefixed by XX.

     -S XX   Upload into temporary files suffixed by XX.

     -R      Recursive mode; copy whole directory trees.

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

     -z/-Z   Do (do not) try to resume transfers.  The default is
             to not 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 local file after successfully uploading it.

     -y      Try  using  "SITE  UTIME"  to preserve timestamps on
             remote host.  Not many remote  FTP  servers  support
             this, so it may not work.

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

     -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

ncftpput           Last change: NcFTP Software                  2

User Commands                                         ncftpput(1)

             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  ncftpput  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  send  files  from  the  shell command line without
     entering an interactive FTP program such as ncftp.

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

ncftpput           Last change: NcFTP Software                  3

User Commands                                         ncftpput(1)

          pass mypassword

     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.

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

     You  can  upload  an entire directory tree of files by using
     the -R flag.  Example:

         $   ncftpput   -R    /incoming

     This  would create a /incoming/stuff hierarchy on the remote

     The -T and -S options are useful when  you  want  to  upload
     file  to the remote host, but you don't want to use the des-
     tination pathname until the file is complete.   Using  these
     options, you will not destroy a remote file by the same name
     until your file is finished.  These options are also  useful
     when  a  remote  process on the remote host polls a specific
     filename, and you don't want that process to see  that  file
     until  you  know  the  file is finished sending.  Here is an
     example that uploads to the file /pub/incoming/README, using
     the  filename  /pub/incoming/README.tmp as a temporary file-

         $ ncftpput -S .tmp  /pub/incoming

     A  neat way to pipe the output from any local command into a
     remote file is to use the  -c  option,  which  denotes  that
     you're  using  stdin  as input.  The following example shows
     how to make a backup and store it on a remote machine:

         $  tar  cf  -   /   |   ncftpput   -c

ncftpput           Last change: NcFTP Software                  4

User Commands                                         ncftpput(1)

     ncftpput 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

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

     LibNcFTP (

     This  software  was   built   from   source   available   at    The  original

ncftpput           Last change: NcFTP Software                  5

User Commands                                         ncftpput(1)

     community       source       was       downloaded       from

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

ncftpput           Last change: NcFTP Software                  6