Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022

ncftpput (1)


ncftpput - Internet file transfer program for scripts


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

ncftpput [options] bookmark-name remote-directory local-files...

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

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

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


ncftpput(1)                 General Commands Manual                ncftpput(1)

       ncftpput - Internet file transfer program for scripts

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

       ncftpput [options] bookmark-name remote-directory local-files...

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

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

       -j XX   Use account XX in supplement to the username and password (dep-

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

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

       -c      Read  locally  from standard input and write remotely to speci-
               fied pathname.

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

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

       -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

       -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

       -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 processing of three
               files all on the same remote server, it is more polite  to  use
               just  one  ncftpbatch process to process the three jobs sequen-
               tially, rather than  having  three  ncftpbatch  processes  open
               three simultaneous FTP sessions to the same server.

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

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

       -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,useCLNT=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, STATfileParamWorks, NLSTfileParam-
               Works, 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 use-
       ful  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  anony-
       mously,  but  you can specify a username and password 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:

              host sphygmomanometer.ncftp.com
              user gleason
              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.

           $ ncftpput -R pikachu.nintendo.co.jp /incoming /tmp/stuff

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

       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 destination  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 filename:

           $ ncftpput -S .tmp bowser.nintendo.co.jp /pub/incoming /a/README

       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 sonic.sega.co.jp /usr/local/backup.tar

       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 (http://www.ncftp.com).

       See attributes(7) for descriptions of the following attributes:

       |Availability   | network/ftp/ncftp |
       |Stability      | Volatile          |

       ncftpget(1), ncftp(1), ftp(1), rcp(1), tftp(1).

       LibNcFTP (http://www.ncftp.com/libncftp/).

       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source                was                downloaded                from

       Further information about this software can be found on the open source
       community website at http://www.ncftp.com/ncftp/.

ncftpput                        NcFTP Software                     ncftpput(1)