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

NAME
     fetch -- retrieve a file by Uniform Resource Locator

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

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.

     -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 	 Don't 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.  This is useful if you are behind a firewall
		 which blocks incoming connections.   Try  this  flag  if  fetch
		 seems to hang when retrieving FTP URLs.

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

     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.

DIAGNOSTICS
     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 them
     each of them in turn, and return zero only if they  were  all  successfully
     retrieved.

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.

     All environment variables mentioned in the documentation for  the	fetch(3)
     library are supported.  A number of these are quite important to the proper
     operation of fetch; you are strongly encouraged to read fetch(3) as well.

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 4.11			  June 28, 2000 			FETCH(1)

home | help