home | help
FETCH(1)		     General Commands Manual			FETCH(1)

NAME
     fetch -- retrieve a file by Uniform Resource Locator

SYNOPSIS
     fetch [-146AadFlMmnPpqRrsUv] [-B bytes] [-i file] [-N file] [-o file]
	   [-S bytes] [-T seconds] [-w seconds] URL ...
     fetch [-146AadFlMmnPpqRrsUv] [-B bytes] [-i file] [-N file] [-o file]
	   [-S bytes] [-T seconds] [-w seconds] -h host -f file [-c dir]

DESCRIPTION
     The  fetch  utility  provides  a command-line interface to the fetch(3) li-
     brary.  Its purpose is to retrieve the file(s) pointed to by the URL(s)  on
     the command line.

     The following options are available:

     -1 	 Stop and return exit code 0 at the first successfully retrieved
		 file.

     -4 	 Forces fetch to use IPv4 addresses only.

     -6 	 Forces fetch to use IPv6 addresses only.

     -A 	 Do  not  automatically  follow  ``temporary''	(302) redirects.
		 Some broken Web sites will return a redirect instead of a  not-
		 found error when the requested object does not exist.

     -a 	 Automatically retry the transfer upon soft failures.

     -B bytes	 Specify  the  read  buffer  size in bytes.  The default is 4096
		 bytes.  Attempts to set a buffer size lower than this	will  be
		 silently  ignored.   The  number of reads actually performed is
		 reported at verbosity level two or higher (see the -v flag).

     -c dir	 The file to retrieve is in directory dir on  the  remote  host.
		 This option is deprecated and is provided for backward compati-
		 bility only.

     -d 	 Use a direct connection even if a proxy is configured.

     -F 	 In  combination  with the -r flag, forces a restart even if the
		 local and remote files have different modification times.   Im-
		 plies -R.

     -f file	 The  file  to	retrieve is named file on the remote host.  This
		 option is deprecated and is provided for backward compatibility
		 only.

     -h host	 The file to retrieve is located on the host host.  This  option
		 is deprecated and is provided for backward compatibility only.

     -i file	 If-Modified-Since  mode: the remote file will only be retrieved
		 if it is newer than file on the local host.  (HTTP only)

     -l 	 If the target is a file-scheme URL, make a symbolic link to the
		 target rather than trying to copy it.

     -M

     -m 	 Mirror mode: if the file already exists  locally  and	has  the
		 same size and modification time as the remote file, it will not
		 be  fetched.  Note that the -m and -r flags are mutually exclu-
		 sive.

     -N file	 Use file instead of ~/.netrc to look up login names  and  pass-
		 words	for FTP sites.	See ftp(1) for a description of the file
		 format.  This feature is experimental.

     -n 	 Do not preserve the modification time of the transferred file.

     -o file	 Set the output file name to file.  By default,  a  ``pathname''
		 is  extracted	from the specified URI, and its basename is used
		 as the name of the output file.  A file argument of  `-'  indi-
		 cates	that  results are to be directed to the standard output.
		 If the file argument is a directory, fetched  file(s)	will  be
		 placed  within  the  directory, with name(s) selected as in the
		 default behaviour.

     -P

     -p 	 Use passive FTP.  These flags have no effect, since passive FTP
		 is the default, but are provided for compatibility with earlier
		 versions where active FTP was the  default.   To  force  active
		 mode, set the FTP_PASSIVE_MODE environment variable to `NO'.

     -q 	 Quiet mode.

     -R 	 The  output files are precious, and should not be deleted under
		 any circumstances, even if the transfer failed  or  was  incom-
		 plete.

     -r 	 Restart  a  previously  interrupted transfer.	Note that the -m
		 and -r flags are mutually exclusive.

     -S bytes	 Require the file size reported by the server to match the spec-
		 ified value.  If it does not, a message is printed and the file
		 is not fetched.  If the server does not support reporting  file
		 sizes,  this option is ignored and the file is fetched uncondi-
		 tionally.

     -s 	 Print the size in bytes of each requested file, without  fetch-
		 ing it.

     -T seconds  Set  timeout value to seconds.  Overrides the environment vari-
		 ables FTP_TIMEOUT for FTP transfers or  HTTP_TIMEOUT  for  HTTP
		 transfers if set.

     -U 	 When  using passive FTP, allocate the port for the data connec-
		 tion from the low (default) port range.  See ip(4) for  details
		 on how to specify which port range this corresponds to.

     -v 	 Increase verbosity level.

     -w seconds  When  the  -a flag is specified, wait this many seconds between
		 successive retries.

     URL

	 <scheme>:(//(<user>(:<pwd>)?@)?<host>(:<port>)?)?/(<document>)?

     If fetch receives a SIGINFO signal (see the status argument  for  stty(1)),
     the  current transfer rate statistics will be written to the standard error
     output, in the same format as the standard completion message.

ENVIRONMENT
     FTP_TIMEOUT   Maximum time, in seconds, to wait before aborting an FTP con-
		   nection.

     HTTP_TIMEOUT  Maximum time, in seconds, to wait  before  aborting	an  HTTP
		   connection.

     See fetch(3) for a description of additional environment variables, includ-
     ing    FETCH_BIND_ADDRESS,   FTP_LOGIN,   FTP_PASSIVE_MODE,   FTP_PASSWORD,
     FTP_PROXY, ftp_proxy, HTTP_AUTH, HTTP_PROXY,  http_proxy,	HTTP_PROXY_AUTH,
     HTTP_REFERER, HTTP_USER_AGENT, NETRC, NO_PROXY and no_proxy.

EXIT STATUS
     The  fetch command returns zero on success, or one on failure.  If multiple
     URLs are listed on the command line, fetch will attempt  to  retrieve  each
     one  of  them  in turn, and will return zero only if they were all success-
     fully retrieved.

     If the -i argument is used and the remote file is not newer than the speci-
     fied file then the command will still return success, although no	file  is
     transferred.

SEE ALSO
     fetch(3)

HISTORY
     The fetch command appeared in FreeBSD 2.1.5.  This implementation first ap-
     peared in FreeBSD 4.1.

AUTHORS
     The  original  implementation  of	fetch  was  done  by  Jean-Marc  Zucconi
     <jmz@FreeBSD.org>.  It was extensively re-worked for FreeBSD 2.2 by Garrett
     Wollman <wollman@FreeBSD.org>, and later completely rewritten  to	use  the
     fetch(3) library by Dag-Erling Smorgrav <des@FreeBSD.org>.

NOTES
     The  -b  and -t options are no longer supported and will generate warnings.
     They were workarounds for bugs in other OSes which this implementation does
     not trigger.

     One cannot both use the -h, -c and -f options and specify URLs on the  com-
     mand line.

FreeBSD 9.1			February 28, 2012			FETCH(1)

home | help