Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
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]

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

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

       ncftpget	-c [options] > stdout

   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.

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

       -c      Read from remote	host and write locally to standard out.

       -C      Read from remote	host and write locally to specified pathname.

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

       -R      Recursive mode; copy whole directory trees.

       -T      Do  not use automatic on-the-fly	TAR mode for downloading whole
	       directory trees.	 ncftpget uses	TAR  whenever  possible	 since
	       this  usually  preserves	 symbolic  links and file permissions.
	       TAR mode	can also result	in faster  transfers  for  directories
	       containing 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  por-
	       tion  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

       -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 ac-
	       cessing	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 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 use-
       ful  for	 advanced users	who want to retrieve files from	the shell com-
       mand 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	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 op-
       tion 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
	   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	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 /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 (

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

       LibNcFTP	(

ncftpget			NcFTP Software			   ncftpget(1)


Want to link to this manual page? Use this URL:

home | help