ncftpget(1) | General Commands Manual | ncftpget(1) |
ncftpget - Internet file transfer program for scripts
ncftpget [options] remote-host local-directory remote-files...
ncftpget [options] bookmark-name local-directory remote-files...
ncftpget -f login.cfg [options] local-directory remote-files...
ncftpget [options] ftp://url.style.host/path/name
ncftpget -c [options] remote-host remote-file > stdout
ncftpget -C [options] remote-host remote-file local-path-name
ncftpget -c [options] ftp://url.style.host/path/name > stdout
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 ftp://ftp.ncftp.com/pub/ncftp/ncftp.tar.Z
$ 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 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 mypasswd
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 bowser.nintendo.co.jp . /pub/README
220: FTP server ready.
Connected to bowser.nintendo.co.jp.
Cmd: USER anonymous
331: Guest login ok, send your complete e-mail address as password.
Cmd: PASS xxxxxxxx
230: Welcome!
Logged in to bowser.nintendo.co.jp 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 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. Example:
$ ncftpget -R ftp.ncftp.com /tmp /pub/ncftp
ncftpget returns the following exit values:
Mike Gleason, NcFTP Software (http://www.ncftp.com).
ncftpput(1), ncftp(1), ftp(1), rcp(1), tftp(1).
LibNcFTP (http://www.ncftp.com/libncftp/).
NcFTP Software | ncftpget |