{
    "mode": "man",
    "parameter": "ncftpput",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/ncftpput/1/json",
    "generated": "2026-06-13T13:56:48Z",
    "synopsis": "ncftpput [options] remote-host remote-directory local-files...\nncftpput [options] bookmark-name remote-directory local-files...\nncftpput -f login.cfg [options] remote-directory local-files...\nncftpput -c remote-host remote-path-name < stdin\nncftpput -C remote-host local-path-name remote-path-name",
    "sections": {
        "NAME": {
            "content": "ncftpput - Internet file transfer program for scripts\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "ncftpput [options] remote-host remote-directory local-files...\n\nncftpput [options] bookmark-name remote-directory local-files...\n\nncftpput -f login.cfg [options] remote-directory local-files...\n\nncftpput -c remote-host remote-path-name < stdin\n\nncftpput -C remote-host local-path-name remote-path-name\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "Command line flags:",
                    "content": ""
                },
                {
                    "name": "-u",
                    "content": "",
                    "flag": "-u"
                },
                {
                    "name": "-p",
                    "content": "",
                    "flag": "-p"
                },
                {
                    "name": "-P",
                    "content": "",
                    "flag": "-P"
                },
                {
                    "name": "-j",
                    "content": "",
                    "flag": "-j"
                },
                {
                    "name": "-d",
                    "content": "",
                    "flag": "-d"
                },
                {
                    "name": "-a",
                    "content": "",
                    "flag": "-a"
                },
                {
                    "name": "-m",
                    "content": "",
                    "flag": "-m"
                },
                {
                    "name": "-t",
                    "content": "",
                    "flag": "-t"
                },
                {
                    "name": "-U",
                    "content": "",
                    "flag": "-U"
                },
                {
                    "name": "-v -V",
                    "content": "stream is a TTY.\n",
                    "flag": "-V"
                },
                {
                    "name": "-f",
                    "content": "",
                    "flag": "-f"
                },
                {
                    "name": "-c",
                    "content": "",
                    "flag": "-c"
                },
                {
                    "name": "-C -c",
                    "content": "",
                    "flag": "-c"
                },
                {
                    "name": "-A",
                    "content": "",
                    "flag": "-A"
                },
                {
                    "name": "-T",
                    "content": "",
                    "flag": "-T"
                },
                {
                    "name": "-S",
                    "content": "",
                    "flag": "-S"
                },
                {
                    "name": "-R",
                    "content": "",
                    "flag": "-R"
                },
                {
                    "name": "-r",
                    "content": "",
                    "flag": "-r"
                },
                {
                    "name": "-z -Z",
                    "content": "",
                    "flag": "-Z"
                },
                {
                    "name": "-E",
                    "content": "",
                    "flag": "-E"
                },
                {
                    "name": "-F",
                    "content": "to regular if the passive connection fails or times out.\n",
                    "flag": "-F"
                },
                {
                    "name": "-DD",
                    "content": ""
                },
                {
                    "name": "-y",
                    "content": "servers support this, so it may not work.\n",
                    "flag": "-y"
                },
                {
                    "name": "-b",
                    "content": "",
                    "flag": "-b"
                },
                {
                    "name": "-bb -b",
                    "content": "batch for the batch job to be processed.  This is useful if you already have a ncftp‐\nbatch process running, or wish to have better control of when  batch  jobs  are  pro‐\ncessed.\n\nFor example, if you wanted to do background processing of three files all on the same\nremote server, it is more polite to use just one ncftpbatch process  to  process  the\nthree jobs sequentially, rather than having three ncftpbatch processes open three si‐\nmultaneous FTP sessions to the same server.\n",
                    "flag": "-b"
                },
                {
                    "name": "-B",
                    "content": "",
                    "flag": "-B"
                },
                {
                    "name": "-W",
                    "content": "",
                    "flag": "-W"
                },
                {
                    "name": "-X",
                    "content": "",
                    "flag": "-X"
                },
                {
                    "name": "-Y",
                    "content": "The -W, -X, and -Y options are useful for advanced users who need to  tweak  behavior\non  some  servers.   For  example, users accessing mainframes might need to send some\nspecial SITE commands to set blocksize and record format information.\n\nFor these options, you can use them multiple times each if you need to send  multiple\ncommands.   For  the  -X option, you can use the cookie %s to expand into the name of\nthe file that was transferred.\n",
                    "flag": "-Y"
                },
                {
                    "name": "-o",
                    "content": "This option is used primarily for debugging.  It sets the value of an internal  vari‐\nable to an integer value.  An example usage would be: -o useFEAT=0,useCLNT=1 which in\nthis case, disables use of the FEAT command and enables the CLNT command.  The avail‐\nable  variables  include:  usePASV,  useSIZE, useMDTM, useREST, useNLSTa, useNLSTd,\nuseFEAT, useMLSD, useMLST, useCLNT, useHELPSITE, useSITEUTIME,  STATfileParamWorks,\nNLSTfileParamWorks, require20, allowProxyForPORT, doNotGetStartCWD.\n",
                    "flag": "-o"
                }
            ]
        },
        "DESCRIPTION": {
            "content": "The purpose of ncftpput is to do file transfers from the command-line without entering an in‐\nteractive shell.  This lets you write shell scripts or other unattended processes that can do\nFTP.  It is also useful for advanced users who want to send files from the shell command line\nwithout entering an interactive FTP program such as ncftp.\n\nBy default the program tries to open the remote host and login anonymously, but you can spec‐\nify  a  username  and password information.  The -u option is used to specify the username to\nlogin as, and the -p option is used to specify the password.  If you are running the  program\nfrom the shell, you may omit the -p option and the program will prompt you for the password.\n\nUsing  the -u and -p options are not recommended, because your account information is exposed\nto anyone who can see your shell script or your process information.   For  example,  someone\nusing the ps program could see your password while the program runs.\n\nYou  may  use the -f option instead to specify a file with the account information.  However,\nthis is still not secure because anyone who has read access to the information file  can  see\nthe  account  information.   Nevertheless, if you choose to use the -f option the file should\nlook something like this:\n\nhost sphygmomanometer.ncftp.com\nuser gleason\npass mypassword\n\nDon't forget to change the permissions on this file so no one else can read them.\n\nThe -d option is very useful when you are trying to diagnose why a file transfer is  failing.\nIt  prints out the entire FTP conversation to the file you specify, so you can get an idea of\nwhat went wrong.  If you specify the special name stdout as the name of the debugging  output\nfile, the output will instead print to the screen.\n\nUsing ASCII mode is helpful when the text format of your host differs from that of the remote\nhost.  For example, if you are sending a text file from a  UNIX  system  to  a  Windows-based\nhost,  you could use the -a flag which would use ASCII transfer mode so that the file created\non the Windows machine would be in its native text format instead of the UNIX text format.\n\nYou can upload an entire directory tree of files by using the -R flag.  Example:\n\n$ ncftpput -R pikachu.nintendo.co.jp /incoming /tmp/stuff\n\nThis would create a /incoming/stuff hierarchy on the remote host.\n\nThe -T and -S options are useful when you want to upload file to the  remote  host,  but  you\ndon't  want to use the destination pathname until the file is complete.  Using these options,\nyou will not destroy a remote file by the same name until your file is finished.   These  op‐\ntions are also useful when a remote process on the remote host polls a specific filename, and\nyou don't want that process to see that file until you know the  file  is  finished  sending.\nHere is an example that uploads to the file /pub/incoming/README, using the filename /pub/in‐\ncoming/README.tmp as a temporary filename:\n\n$ ncftpput -S .tmp bowser.nintendo.co.jp /pub/incoming /a/README\n\nA neat way to pipe the output from any local command into a remote file is to use the -c  op‐\ntion,  which  denotes  that  you're using stdin as input.  The following example shows how to\nmake a backup and store it on a remote machine:\n\n$ tar cf - / | ncftpput -c sonic.sega.co.jp /usr/local/backup.tar\n",
            "subsections": []
        },
        "DIAGNOSTICS": {
            "content": "ncftpput returns the following exit values:\n\n0       Success.\n\n1       Could not connect to remote host.\n\n2       Could not connect to remote host - timed out.\n\n3       Transfer failed.\n\n4       Transfer failed - timed out.\n\n5       Directory change failed.\n\n6       Directory change failed - timed out.\n\n7       Malformed URL.\n\n8       Usage error.\n\n9       Error in login configuration file.\n\n10      Library initialization failed.\n\n11      Session initialization failed.\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Mike Gleason, NcFTP Software (http://www.ncftp.com).\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "ncftpget(1), ncftp(1), ftp(1), rcp(1), tftp(1).\n\nLibNcFTP (http://www.ncftp.com/libncftp/).\n\n\n\nncftpput                                   NcFTP Software                                ncftpput(1)",
            "subsections": []
        }
    },
    "summary": "ncftpput - Internet file transfer program for scripts",
    "flags": [
        {
            "flag": "-u",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-p",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-P",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-j",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-d",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-a",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-m",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-t",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-U",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-V",
            "long": null,
            "arg": null,
            "description": "stream is a TTY."
        },
        {
            "flag": "-f",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-c",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-c",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-A",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-T",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-S",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-R",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-r",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-Z",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-E",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-F",
            "long": null,
            "arg": null,
            "description": "to regular if the passive connection fails or times out."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-y",
            "long": null,
            "arg": null,
            "description": "servers support this, so it may not work."
        },
        {
            "flag": "-b",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-b",
            "long": null,
            "arg": null,
            "description": "batch for the batch job to be processed. This is useful if you already have a ncftp‐ batch process running, or wish to have better control of when batch jobs are pro‐ cessed. 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 sequentially, rather than having three ncftpbatch processes open three si‐ multaneous FTP sessions to the same server."
        },
        {
            "flag": "-B",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-W",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-X",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-Y",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-o",
            "long": null,
            "arg": null,
            "description": "This option is used primarily for debugging. It sets the value of an internal vari‐ able 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 avail‐ able variables include: usePASV, useSIZE, useMDTM, useREST, useNLSTa, useNLSTd, useFEAT, useMLSD, useMLST, useCLNT, useHELPSITE, useSITEUTIME, STATfileParamWorks, NLSTfileParamWorks, require20, allowProxyForPORT, doNotGetStartCWD."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "ncftpget",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/ncftpget/1/json"
        },
        {
            "name": "ncftp",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/ncftp/1/json"
        },
        {
            "name": "ftp",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/ftp/1/json"
        },
        {
            "name": "rcp",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/rcp/1/json"
        },
        {
            "name": "tftp",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/tftp/1/json"
        }
    ]
}