diff options
Diffstat (limited to 'contrib/lukemftp/src/ftp.1')
-rw-r--r-- | contrib/lukemftp/src/ftp.1 | 2357 |
1 files changed, 0 insertions, 2357 deletions
diff --git a/contrib/lukemftp/src/ftp.1 b/contrib/lukemftp/src/ftp.1 deleted file mode 100644 index 917980f..0000000 --- a/contrib/lukemftp/src/ftp.1 +++ /dev/null @@ -1,2357 +0,0 @@ -.\" $NetBSD: ftp.1,v 1.109 2005/02/20 20:54:01 wiz Exp $ -.\" -.\" Copyright (c) 1996-2004 The NetBSD Foundation, Inc. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to The NetBSD Foundation -.\" by Luke Mewburn. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the NetBSD -.\" Foundation, Inc. and its contributors. -.\" 4. Neither the name of The NetBSD Foundation nor the names of its -.\" contributors may be used to endorse or promote products derived -.\" from this software without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS -.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS -.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -.\" POSSIBILITY OF SUCH DAMAGE. -.\" -.\" -.\" Copyright (c) 1985, 1989, 1990, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)ftp.1 8.3 (Berkeley) 10/9/94 -.\" -.Dd January 15, 2005 -.Dt FTP 1 -.Os -.Sh NAME -.Nm ftp -.Nd -Internet file transfer program -.Sh SYNOPSIS -.Nm -.Op Fl 46AadefginpRtvV -.Bk -words -.Op Fl N Ar netrc -.Ek -.Bk -words -.Op Fl o Ar output -.Ek -.Bk -words -.Op Fl P Ar port -.Ek -.Bk -words -.Op Fl q Ar quittime -.Ek -.Bk -words -.Op Fl r Ar retry -.Ek -.Bk -words -.\" [-T dir,max[,inc]] -.Oo -.Fl T Xo -.Sm off -.Ar dir , -.Ar max -.Op , Ar inc -.Sm on -.Xc -.Oc -.Ek -.Bk -words -.\" [[user@]host [port]] -.Oo -.Oo Ar user Ns Li \&@ Oc Ns Ar host -.Op Ar port -.Oc -.Ek -.Bk -words -.\" [[user@]host:[path][/]] -.Sm off -.Oo -.Op Ar user Li \&@ -.Ar host Li \&: -.Op Ar path -.Op Li / -.Oc -.Sm on -.Ek -.Bk -words -.\" [file:///path] -.Sm off -.Oo -.Li file:/// Ar path -.Oc -.Sm on -.Ek -.Bk -words -.\" [ftp://[user[:password]@]host[:port]/path[/]] -.Sm off -.Oo -.Li ftp:// -.Oo Ar user -.Op Li \&: Ar password -.Li \&@ Oc -.Ar host Oo Li \&: Ar port Oc -.Li / Ar path -.Op Li / -.Op Li ;type= Ar X -.Oc -.Sm on -.Ek -.Bk -words -.\" [http://[user[:password]@]host[:port]/path] -.Sm off -.Oo -.Li http:// -.Oo Ar user -.Op Li \&: Ar password -.Li \&@ Oc -.Ar host Oo Li \&: Ar port Oc -.Li / Ar path -.Oc -.Sm on -.Ek -.Op Ar \&.\&.\&. -.Nm -.Bk -words -.Fl u Ar URL Ar file -.Ek -.Op Ar \&.\&.\&. -.Sh DESCRIPTION -.Nm -is the user interface to the Internet standard File Transfer Protocol. -The program allows a user to transfer files to and from a -remote network site. -.Pp -The last five arguments will fetch a file using the -.Tn FTP -or -.Tn HTTP -protocols, or by direct copying, into the current directory. -This is ideal for scripts. -Refer to -.Sx AUTO-FETCHING FILES -below for more information. -.Pp -Options may be specified at the command line, or to the -command interpreter. -.Bl -tag -width "port " -.It Fl 4 -Forces -.Nm -to only use IPv4 addresses. -.It Fl 6 -Forces -.Nm -to only use IPv6 addresses. -.It Fl A -Force active mode ftp. -By default, -.Nm -will try to use passive mode ftp and fall back to active mode -if passive is not supported by the server. -This option causes -.Nm -to always use an active connection. -It is only useful for connecting to very old servers that do not -implement passive mode properly. -.It Fl a -Causes -.Nm -to bypass normal login procedure, and use an anonymous login instead. -.It Fl d -Enables debugging. -.It Fl e -Disables command line editing. -This is useful for Emacs ange-ftp mode. -.It Fl f -Forces a cache reload for transfers that go through the -.Tn FTP -or -.Tn HTTP -proxies. -.It Fl g -Disables file name globbing. -.It Fl i -Turns off interactive prompting during -multiple file transfers. -.It Fl n -Restrains -.Nm -from attempting -.Dq auto-login -upon initial connection for non auto-fetch transfers. -If auto-login is enabled, -.Nm -will check the -.Pa .netrc -(see below) file in the user's home directory for an entry describing -an account on the remote machine. -If no entry exists, -.Nm -will prompt for the remote machine login name (default is the user -identity on the local machine), and, if necessary, prompt for a password -and an account with which to login. -To override the auto-login for auto-fetch transfers, specify the -username (and optionally, password) as appropriate. -.It Fl N Ar netrc -Use -.Ar netrc -instead of -.Pa ~/.netrc . -Refer to -.Sx THE .netrc FILE -for more information. -.It Fl o Ar output -When auto-fetching files, save the contents in -.Ar output . -.Ar output -is parsed according to the -.Sx FILE NAMING CONVENTIONS -below. -If -.Ar output -is not -.Sq - -or doesn't start with -.Sq \&| , -then only the first file specified will be retrieved into -.Ar output ; -all other files will be retrieved into the basename of their -remote name. -.It Fl p -Enable passive mode operation for use behind connection filtering firewalls. -This option has been deprecated as -.Nm -now tries to use passive mode by default, falling back to active mode -if the server does not support passive connections. -.It Fl P Ar port -Sets the port number to -.Ar port . -.It Fl r Ar wait -Retry the connection attempt if it failed, pausing for -.Ar wait -seconds. -.It Fl q Ar quittime -Quit if the connection has stalled for -.Ar quittime -seconds. -.It Fl R -Restart all non-proxied auto-fetches. -.It Fl t -Enables packet tracing. -.It Xo -.Fl T -.Sm off -.Ar direction , -.Ar maximum -.Op , Ar increment -.Sm on -.Xc -Set the maximum transfer rate for -.Ar direction -to -.Ar maximum -bytes/second, -and if specified, the increment to -.Ar increment -bytes/second. -Refer to -.Ic rate -for more information. -.It Fl u Ar URL file Op \&.\&.\&. -Upload files on the command line to -.Ar URL -where -.Ar URL -is one of the ftp URL types as supported by auto-fetch -(with an optional target filename for single file uploads), and -.Ar file -is one or more local files to be uploaded. -.It Fl v -Enable -.Ic verbose -and -.Ic progress . -This is the default if output is to a terminal (and in the case of -.Ic progress , -.Nm -is the foreground process). -Forces -.Nm -to show all responses from the remote server, as well -as report on data transfer statistics. -.It Fl V -Disable -.Ic verbose -and -.Ic progress , -overriding the default of enabled when output is to a terminal. -.El -.Pp -The client host with which -.Nm -is to communicate may be specified on the command line. -If this is done, -.Nm -will immediately attempt to establish a connection to an -.Tn FTP -server on that host; otherwise, -.Nm -will enter its command interpreter and await instructions -from the user. -When -.Nm -is awaiting commands from the user the prompt -.Ql ftp\*[Gt] -is provided to the user. -The following commands are recognized -by -.Nm ftp : -.Bl -tag -width Fl -.It Ic \&! Op Ar command Op Ar args -Invoke an interactive shell on the local machine. -If there are arguments, the first is taken to be a command to execute -directly, with the rest of the arguments as its arguments. -.It Ic \&$ Ar macro-name Op Ar args -Execute the macro -.Ar macro-name -that was defined with the -.Ic macdef -command. -Arguments are passed to the macro unglobbed. -.It Ic account Op Ar passwd -Supply a supplemental password required by a remote system for access -to resources once a login has been successfully completed. -If no argument is included, the user will be prompted for an account -password in a non-echoing input mode. -.It Ic append Ar local-file Op Ar remote-file -Append a local file to a file on the remote machine. -If -.Ar remote-file -is left unspecified, the local file name is used in naming the -remote file after being altered by any -.Ic ntrans -or -.Ic nmap -setting. -File transfer uses the current settings for -.Ic type , -.Ic format , -.Ic mode , -and -.Ic structure . -.It Ic ascii -Set the file transfer -.Ic type -to network -.Tn ASCII . -This is the default type. -.It Ic bell -Arrange that a bell be sounded after each file transfer -command is completed. -.It Ic binary -Set the file transfer -.Ic type -to support binary image transfer. -.It Ic bye -Terminate the -.Tn FTP -session with the remote server -and exit -.Nm ftp . -An end of file will also terminate the session and exit. -.It Ic case -Toggle remote computer file name case mapping during -.Ic get , -.Ic mget -and -.Ic mput -commands. -When -.Ic case -is on (default is off), remote computer file names with all letters in -upper case are written in the local directory with the letters mapped -to lower case. -.It Ic \&cd Ar remote-directory -Change the working directory on the remote machine -to -.Ar remote-directory . -.It Ic cdup -Change the remote machine working directory to the parent of the -current remote machine working directory. -.It Ic chmod Ar mode remote-file -Change the permission modes of the file -.Ar remote-file -on the remote -system to -.Ar mode . -.It Ic close -Terminate the -.Tn FTP -session with the remote server, and -return to the command interpreter. -Any defined macros are erased. -.It Ic \&cr -Toggle carriage return stripping during -ascii type file retrieval. -Records are denoted by a carriage return/linefeed sequence -during ascii type file transfer. -When -.Ic \&cr -is on (the default), carriage returns are stripped from this -sequence to conform with the -.Ux -single linefeed record -delimiter. -Records on -.Pf non\- Ns Ux -remote systems may contain single linefeeds; -when an ascii type transfer is made, these linefeeds may be -distinguished from a record delimiter only when -.Ic \&cr -is off. -.It Ic debug Op Ar debug-value -Toggle debugging mode. -If an optional -.Ar debug-value -is specified it is used to set the debugging level. -When debugging is on, -.Nm -prints each command sent to the remote machine, preceded -by the string -.Ql \-\-\*[Gt] -.It Ic delete Ar remote-file -Delete the file -.Ar remote-file -on the remote machine. -.It Ic dir Op Ar remote-path Op Ar local-file -Print a listing of the contents of a -directory on the remote machine. -The listing includes any system-dependent information that the server -chooses to include; for example, most -.Ux -systems will produce -output from the command -.Ql ls \-l . -If -.Ar remote-path -is left unspecified, the current working directory is used. -If interactive prompting is on, -.Nm -will prompt the user to verify that the last argument is indeed the -target local file for receiving -.Ic dir -output. -If no local file is specified, or if -.Ar local-file -is -.Sq Fl , -the output is sent to the terminal. -.It Ic disconnect -A synonym for -.Ic close . -.It Ic edit -Toggle command line editing, and context sensitive command and file -completion. -This is automatically enabled if input is from a terminal, and -disabled otherwise. -.It Ic epsv4 -Toggle the use of the extended -.Dv EPSV -and -.Dv EPRT -commands on IPv4 connections; first try -.Dv EPSV / -.Dv EPRT , -and then -.Dv PASV / -.Dv PORT . -This is enabled by default. -If an extended command fails then this option will be temporarily -disabled for the duration of the current connection, or until -.Ic epsv4 -is executed again. -.It Ic exit -A synonym for -.Ic bye . -.It Ic features -Display what features the remote server supports (using the -.Dv FEAT -command). -.It Ic fget Ar localfile -Retrieve the files listed in -.Ar localfile , -which has one line per filename. -.It Ic form Ar format -Set the file transfer -.Ic form -to -.Ar format . -The default (and only supported) -format is -.Dq non-print . -.It Ic ftp Ar host Op Ar port -A synonym for -.Ic open . -.It Ic gate Op Ar host Op Ar port -Toggle gate-ftp mode, which used to connect through the -TIS FWTK and Gauntlet ftp proxies. -This will not be permitted if the gate-ftp server hasn't been set -(either explicitly by the user, or from the -.Ev FTPSERVER -environment variable). -If -.Ar host -is given, -then gate-ftp mode will be enabled, and the gate-ftp server will be set to -.Ar host . -If -.Ar port -is also given, that will be used as the port to connect to on the -gate-ftp server. -.It Ic get Ar remote-file Op Ar local-file -Retrieve the -.Ar remote-file -and store it on the local machine. -If the local -file name is not specified, it is given the same -name it has on the remote machine, subject to -alteration by the current -.Ic case , -.Ic ntrans , -and -.Ic nmap -settings. -The current settings for -.Ic type , -.Ic form , -.Ic mode , -and -.Ic structure -are used while transferring the file. -.It Ic glob -Toggle filename expansion for -.Ic mdelete , -.Ic mget , -.Ic mput , -and -.Ic mreget . -If globbing is turned off with -.Ic glob , -the file name arguments -are taken literally and not expanded. -Globbing for -.Ic mput -is done as in -.Xr csh 1 . -For -.Ic mdelete , -.Ic mget , -and -.Ic mreget , -each remote file name is expanded -separately on the remote machine and the lists are not merged. -Expansion of a directory name is likely to be -different from expansion of the name of an ordinary file: -the exact result depends on the foreign operating system and ftp server, -and can be previewed by doing -.Ql mls remote-files \- -Note: -.Ic mget , -.Ic mput -and -.Ic mreget -are not meant to transfer -entire directory subtrees of files. -That can be done by -transferring a -.Xr tar 1 -archive of the subtree (in binary mode). -.It Ic hash Op Ar size -Toggle hash-sign (``#'') printing for each data block -transferred. -The size of a data block defaults to 1024 bytes. -This can be changed by specifying -.Ar size -in bytes. -Enabling -.Ic hash -disables -.Ic progress . -.It Ic help Op Ar command -Print an informative message about the meaning of -.Ar command . -If no argument is given, -.Nm -prints a list of the known commands. -.It Ic idle Op Ar seconds -Set the inactivity timer on the remote server to -.Ar seconds -seconds. -If -.Ar seconds -is omitted, the current inactivity timer is printed. -.It Ic image -A synonym for -.Ic binary . -.It Ic lcd Op Ar directory -Change the working directory on the local machine. -If -no -.Ar directory -is specified, the user's home directory is used. -.It Ic less Ar file -A synonym for -.Ic page . -.It Ic lpage Ar local-file -Display -.Ar local-file -with the program specified by the -.Ic "set pager" -option. -.It Ic lpwd -Print the working directory on the local machine. -.It Ic \&ls Op Ar remote-path Op Ar local-file -A synonym for -.Ic dir . -.It Ic macdef Ar macro-name -Define a macro. -Subsequent lines are stored as the macro -.Ar macro-name ; -a null line (consecutive newline characters -in a file or -carriage returns from the terminal) terminates macro input mode. -There is a limit of 16 macros and 4096 total characters in all -defined macros. -Macros remain defined until a -.Ic close -command is executed. -The macro processor interprets `$' and `\e' as special characters. -A `$' followed by a number (or numbers) is replaced by the -corresponding argument on the macro invocation command line. -A `$' followed by an `i' signals that macro processor that the -executing macro is to be looped. -On the first pass `$i' is -replaced by the first argument on the macro invocation command line, -on the second pass it is replaced by the second argument, and so on. -A `\e' followed by any character is replaced by that character. -Use the `\e' to prevent special treatment of the `$'. -.It Ic mdelete Op Ar remote-files -Delete the -.Ar remote-files -on the remote machine. -.It Ic mdir Ar remote-files local-file -Like -.Ic dir , -except multiple remote files may be specified. -If interactive prompting is on, -.Nm -will prompt the user to verify that the last argument is indeed the -target local file for receiving -.Ic mdir -output. -.It Ic mget Ar remote-files -Expand the -.Ar remote-files -on the remote machine -and do a -.Ic get -for each file name thus produced. -See -.Ic glob -for details on the filename expansion. -Resulting file names will then be processed according to -.Ic case , -.Ic ntrans , -and -.Ic nmap -settings. -Files are transferred into the local working directory, -which can be changed with -.Ql lcd directory ; -new local directories can be created with -.Ql "\&! mkdir directory" . -.It Ic mkdir Ar directory-name -Make a directory on the remote machine. -.It Ic mls Ar remote-files local-file -Like -.Ic ls , -except multiple remote files may be specified, -and the -.Ar local-file -must be specified. -If interactive prompting is on, -.Nm -will prompt the user to verify that the last argument is indeed the -target local file for receiving -.Ic mls -output. -.It Ic mlsd Op Ar remote-path -Display the contents of -.Ar remote-path -(which should default to the current directory if not given) -in a machine-parsable form, using -.Dv MLSD . -The format of display can be changed with -.Sq "remopts mlst ..." . -.It Ic mlst Op Ar remote-path -Display the details about -.Ar remote-path -(which should default to the current directory if not given) -in a machine-parsable form, using -.Dv MLST . -The format of display can be changed with -.Sq "remopts mlst ..." . -.It Ic mode Ar mode-name -Set the file transfer -.Ic mode -to -.Ar mode-name . -The default (and only supported) -mode is -.Dq stream . -.It Ic modtime Ar remote-file -Show the last modification time of the file on the remote machine. -.It Ic more Ar file -A synonym for -.Ic page . -.It Ic mput Ar local-files -Expand wild cards in the list of local files given as arguments -and do a -.Ic put -for each file in the resulting list. -See -.Ic glob -for details of filename expansion. -Resulting file names will then be processed according to -.Ic ntrans -and -.Ic nmap -settings. -.It Ic mreget Ar remote-files -As per -.Ic mget , -but performs a -.Ic reget -instead of -.Ic get . -.It Ic msend Ar local-files -A synonym for -.Ic mput . -.It Ic newer Ar remote-file Op Ar local-file -Get the file only if the modification time of the remote file is more -recent that the file on the current system. -If the file does not -exist on the current system, the remote file is considered -.Ic newer . -Otherwise, this command is identical to -.Ar get . -.It Ic nlist Op Ar remote-path Op Ar local-file -A synonym for -.Ic ls . -.It Ic nmap Op Ar inpattern outpattern -Set or unset the filename mapping mechanism. -If no arguments are specified, the filename mapping mechanism is unset. -If arguments are specified, remote filenames are mapped during -.Ic mput -commands and -.Ic put -commands issued without a specified remote target filename. -If arguments are specified, local filenames are mapped during -.Ic mget -commands and -.Ic get -commands issued without a specified local target filename. -This command is useful when connecting to a -.No non\- Ns Ux -remote computer -with different file naming conventions or practices. -The mapping follows the pattern set by -.Ar inpattern -and -.Ar outpattern . -.Op Ar Inpattern -is a template for incoming filenames (which may have already been -processed according to the -.Ic ntrans -and -.Ic case -settings). -Variable templating is accomplished by including the -sequences `$1', `$2', ..., `$9' in -.Ar inpattern . -Use `\\' to prevent this special treatment of the `$' character. -All other characters are treated literally, and are used to determine the -.Ic nmap -.Op Ar inpattern -variable values. -For example, given -.Ar inpattern -$1.$2 and the remote file name "mydata.data", $1 would have the value -"mydata", and $2 would have the value "data". -The -.Ar outpattern -determines the resulting mapped filename. -The sequences `$1', `$2', ...., `$9' are replaced by any value resulting -from the -.Ar inpattern -template. -The sequence `$0' is replace by the original filename. -Additionally, the sequence -.Ql Op Ar seq1 , Ar seq2 -is replaced by -.Op Ar seq1 -if -.Ar seq1 -is not a null string; otherwise it is replaced by -.Ar seq2 . -For example, the command -.Pp -.Bd -literal -offset indent -compact -nmap $1.$2.$3 [$1,$2].[$2,file] -.Ed -.Pp -would yield -the output filename "myfile.data" for input filenames "myfile.data" and -"myfile.data.old", "myfile.file" for the input filename "myfile", and -"myfile.myfile" for the input filename ".myfile". -Spaces may be included in -.Ar outpattern , -as in the example: `nmap $1 sed "s/ *$//" \*[Gt] $1' . -Use the `\e' character to prevent special treatment -of the `$','[',']', and `,' characters. -.It Ic ntrans Op Ar inchars Op Ar outchars -Set or unset the filename character translation mechanism. -If no arguments are specified, the filename character -translation mechanism is unset. -If arguments are specified, characters in -remote filenames are translated during -.Ic mput -commands and -.Ic put -commands issued without a specified remote target filename. -If arguments are specified, characters in -local filenames are translated during -.Ic mget -commands and -.Ic get -commands issued without a specified local target filename. -This command is useful when connecting to a -.No non\- Ns Ux -remote computer -with different file naming conventions or practices. -Characters in a filename matching a character in -.Ar inchars -are replaced with the corresponding character in -.Ar outchars . -If the character's position in -.Ar inchars -is longer than the length of -.Ar outchars , -the character is deleted from the file name. -.It Ic open Ar host Op Ar port -Establish a connection to the specified -.Ar host -.Tn FTP -server. -An optional port number may be supplied, -in which case, -.Nm -will attempt to contact an -.Tn FTP -server at that port. -If the -.Ic "set auto-login" -option is on (default), -.Nm -will also attempt to automatically log the user in to -the -.Tn FTP -server (see below). -.It Ic page Ar file -Retrieve -.Ic file -and display with the program specified by the -.Ic "set pager" -option. -.It Ic passive Op Cm auto -Toggle passive mode (if no arguments are given). -If -.Cm auto -is given, act as if -.Ev FTPMODE -is set to -.Sq auto . -If passive mode is turned on (default), -.Nm -will send a -.Dv PASV -command for all data connections instead of a -.Dv PORT -command. -The -.Dv PASV -command requests that the remote server open a port for the data connection -and return the address of that port. -The remote server listens on that port and the client connects to it. -When using the more traditional -.Dv PORT -command, the client listens on a port and sends that address to the remote -server, who connects back to it. -Passive mode is useful when using -.Nm -through a gateway router or host that controls the directionality of -traffic. -(Note that though -.Tn FTP -servers are required to support the -.Dv PASV -command by -.Li RFC 1123 , -some do not.) -.It Ic pdir Op Ar remote-path -Perform -.Ic dir -.Op Ar remote-path , -and display the result with the program specified by the -.Ic "set pager" -option. -.It Ic pls Op Ar remote-path -Perform -.Ic ls -.Op Ar remote-path , -and display the result with the program specified by the -.Ic "set pager" -option. -.It Ic pmlsd Op Ar remote-path -Perform -.Ic mlsd -.Op Ar remote-path , -and display the result with the program specified by the -.Ic "set pager" -option. -.It Ic preserve -Toggle preservation of modification times on retrieved files. -.It Ic progress -Toggle display of transfer progress bar. -The progress bar will be disabled for a transfer that has -.Ar local-file -as -.Sq Fl -or a command that starts with -.Sq \&| . -Refer to -.Sx FILE NAMING CONVENTIONS -for more information. -Enabling -.Ic progress -disables -.Ic hash . -.It Ic prompt -Toggle interactive prompting. -Interactive prompting -occurs during multiple file transfers to allow the -user to selectively retrieve or store files. -If prompting is turned off (default is on), any -.Ic mget -or -.Ic mput -will transfer all files, and any -.Ic mdelete -will delete all files. -.Pp -When prompting is on, the following commands are available at a prompt: -.Bl -tag -width 2n -offset indent -.It Cm a -Answer -.Sq yes -to the current file, and automatically answer -.Sq yes -to any remaining files for the current command. -.It Cm n -Answer -.Sq no , -and do not transfer the file. -.It Cm p -Answer -.Sq yes -to the current file, and turn off prompt mode -(as is -.Dq prompt off -had been given). -.It Cm q -Terminate the current operation. -.It Cm y -Answer -.Sq yes , -and transfer the file. -.It Cm \&? -Display a help message. -.El -.Pp -Any other response will answer -.Sq yes -to the current file. -.It Ic proxy Ar ftp-command -Execute an ftp command on a secondary control connection. -This command allows simultaneous connection to two remote -.Tn FTP -servers for transferring files between the two servers. -The first -.Ic proxy -command should be an -.Ic open , -to establish the secondary control connection. -Enter the command "proxy ?" to see other -.Tn FTP -commands executable on the secondary connection. -The following commands behave differently when prefaced by -.Ic proxy : -.Ic open -will not define new macros during the auto-login process, -.Ic close -will not erase existing macro definitions, -.Ic get -and -.Ic mget -transfer files from the host on the primary control connection -to the host on the secondary control connection, and -.Ic put , -.Ic mput , -and -.Ic append -transfer files from the host on the secondary control connection -to the host on the primary control connection. -Third party file transfers depend upon support of the -.Tn FTP -protocol -.Dv PASV -command by the server on the secondary control connection. -.It Ic put Ar local-file Op Ar remote-file -Store a local file on the remote machine. -If -.Ar remote-file -is left unspecified, the local file name is used -after processing according to any -.Ic ntrans -or -.Ic nmap -settings -in naming the remote file. -File transfer uses the -current settings for -.Ic type , -.Ic format , -.Ic mode , -and -.Ic structure . -.It Ic pwd -Print the name of the current working directory on the remote -machine. -.It Ic quit -A synonym for -.Ic bye . -.It Ic quote Ar arg1 arg2 ... -The arguments specified are sent, verbatim, to the remote -.Tn FTP -server. -.It Xo -.Ic rate Ar direction -.Op Ar maximum Op Ar increment -.Xc -Throttle the maximum transfer rate to -.Ar maximum -bytes/second. -If -.Ar maximum -is 0, disable the throttle. -.Pp -.Ar direction -may be one of: -.Bl -tag -width "all" -offset indent -compact -.It Cm all -Both directions. -.It Cm get -Incoming transfers. -.It Cm put -Outgoing transfers. -.El -.Pp -.Ar maximum -can be modified on the fly by -.Ar increment -bytes (default: 1024) each time a given signal is received: -.B -.Bl -tag -width "SIGUSR1" -offset indent -.It Dv SIGUSR1 -Increment -.Ar maximum -by -.Ar increment -bytes. -.It Dv SIGUSR2 -Decrement -.Ar maximum -by -.Ar increment -bytes. -The result must be a positive number. -.El -.Pp -If -.Ar maximum -is not supplied, the current throttle rates are displayed. -.Pp -Note: -.Ic rate -is not yet implemented for ascii mode transfers. -.It Ic rcvbuf Ar size -Set the size of the socket receive buffer to -.Ar size . -.It Ic recv Ar remote-file Op Ar local-file -A synonym for -.Ic get . -.It Ic reget Ar remote-file Op Ar local-file -.Ic reget -acts like -.Ic get , -except that if -.Ar local-file -exists and is -smaller than -.Ar remote-file , -.Ar local-file -is presumed to be -a partially transferred copy of -.Ar remote-file -and the transfer -is continued from the apparent point of failure. -This command -is useful when transferring very large files over networks that -are prone to dropping connections. -.It Ic remopts Ar command Op Ar command-options -Set options on the remote -.Tn FTP -server for -.Ar command -to -.Ar command-options -(whose absence is handled on a command-specific basis). -Remote -.Tn FTP -commands known to support options include: -.Sq MLST -(used for -.Dv MLSD -and -.Dv MLST ) . -.It Ic rename Op Ar from Op Ar to -Rename the file -.Ar from -on the remote machine, to the file -.Ar to . -.It Ic reset -Clear reply queue. -This command re-synchronizes command/reply sequencing with the remote -.Tn FTP -server. -Resynchronization may be necessary following a violation of the -.Tn FTP -protocol by the remote server. -.It Ic restart Ar marker -Restart the immediately following -.Ic get -or -.Ic put -at the -indicated -.Ar marker . -On -.Ux -systems, marker is usually a byte -offset into the file. -.It Ic rhelp Op Ar command-name -Request help from the remote -.Tn FTP -server. -If a -.Ar command-name -is specified it is supplied to the server as well. -.It Ic rmdir Ar directory-name -Delete a directory on the remote machine. -.It Ic rstatus Op Ar remote-file -With no arguments, show status of remote machine. -If -.Ar remote-file -is specified, show status of -.Ar remote-file -on remote machine. -.It Ic runique -Toggle storing of files on the local system with unique filenames. -If a file already exists with a name equal to the target -local filename for a -.Ic get -or -.Ic mget -command, a ".1" is appended to the name. -If the resulting name matches another existing file, -a ".2" is appended to the original name. -If this process continues up to ".99", an error -message is printed, and the transfer does not take place. -The generated unique filename will be reported. -Note that -.Ic runique -will not affect local files generated from a shell command -(see below). -The default value is off. -.It Ic send Ar local-file Op Ar remote-file -A synonym for -.Ic put . -.It Ic sendport -Toggle the use of -.Dv PORT -commands. -By default, -.Nm -will attempt to use a -.Dv PORT -command when establishing -a connection for each data transfer. -The use of -.Dv PORT -commands can prevent delays -when performing multiple file transfers. -If the -.Dv PORT -command fails, -.Nm -will use the default data port. -When the use of -.Dv PORT -commands is disabled, no attempt will be made to use -.Dv PORT -commands for each data transfer. -This is useful -for certain -.Tn FTP -implementations which do ignore -.Dv PORT -commands but, incorrectly, indicate they've been accepted. -.It Ic set Op Ar option Ar value -Set -.Ar option -to -.Ar value . -If -.Ar option -and -.Ar value -are not given, display all of the options and their values. -The currently supported options are: -.Bl -tag -width "http_proxy" -offset indent -.It Cm anonpass -Defaults to -.Ev $FTPANONPASS -.It Cm ftp_proxy -Defaults to -.Ev $ftp_proxy . -.It Cm http_proxy -Defaults to -.Ev $http_proxy . -.It Cm no_proxy -Defaults to -.Ev $no_proxy . -.It Cm pager -Defaults to -.Ev $PAGER . -.It Cm prompt -Defaults to -.Ev $FTPPROMPT . -.It Cm rprompt -Defaults to -.Ev $FTPRPROMPT . -.El -.It Ic site Ar arg1 arg2 ... -The arguments specified are sent, verbatim, to the remote -.Tn FTP -server as a -.Dv SITE -command. -.It Ic size Ar remote-file -Return size of -.Ar remote-file -on remote machine. -.It Ic sndbuf Ar size -Set the size of the socket send buffer to -.Ar size . -.It Ic status -Show the current status of -.Nm ftp . -.It Ic struct Ar struct-name -Set the file transfer -.Ar structure -to -.Ar struct-name . -The default (and only supported) -structure is -.Dq file . -.It Ic sunique -Toggle storing of files on remote machine under unique file names. -The remote -.Tn FTP -server must support -.Tn FTP -protocol -.Dv STOU -command for -successful completion. -The remote server will report unique name. -Default value is off. -.It Ic system -Show the type of operating system running on the remote machine. -.It Ic tenex -Set the file transfer type to that needed to -talk to -.Tn TENEX -machines. -.It Ic throttle -A synonym for -.Ic rate . -.It Ic trace -Toggle packet tracing. -.It Ic type Op Ar type-name -Set the file transfer -.Ic type -to -.Ar type-name . -If no type is specified, the current type -is printed. -The default type is network -.Tn ASCII . -.It Ic umask Op Ar newmask -Set the default umask on the remote server to -.Ar newmask . -If -.Ar newmask -is omitted, the current umask is printed. -.It Ic unset Ar option -Unset -.Ar option . -Refer to -.Ic set -for more information. -.It Ic usage Ar command -Print the usage message for -.Ar command . -.It Xo -.Ic user Ar user-name -.Op Ar password Op Ar account -.Xc -Identify yourself to the remote -.Tn FTP -server. -If the -.Ar password -is not specified and the server requires it, -.Nm -will prompt the user for it (after disabling local echo). -If an -.Ar account -field is not specified, and the -.Tn FTP -server -requires it, the user will be prompted for it. -If an -.Ar account -field is specified, an account command will -be relayed to the remote server after the login sequence -is completed if the remote server did not require it -for logging in. -Unless -.Nm -is invoked with -.Dq auto-login -disabled, this process is done automatically on initial connection to the -.Tn FTP -server. -.It Ic verbose -Toggle verbose mode. -In verbose mode, all responses from -the -.Tn FTP -server are displayed to the user. -In addition, -if verbose is on, when a file transfer completes, statistics -regarding the efficiency of the transfer are reported. -By default, -verbose is on. -.It Ic xferbuf Ar size -Set the size of the socket send and receive buffers to -.Ar size . -.It Ic \&? Op Ar command -A synonym for -.Ic help . -.El -.Pp -Command arguments which have embedded spaces may be quoted with -quote `"' marks. -.Pp -Commands which toggle settings can take an explicit -.Ic on -or -.Ic off -argument to force the setting appropriately. -.Pp -Commands which take a byte count as an argument -(e.g., -.Ic hash , -.Ic rate , -and -.Ic xferbuf ) -support an optional suffix on the argument which changes the -interpretation of the argument. -Supported suffixes are: -.Bl -tag -width 3n -offset indent -compact -.It Li b -Causes no modification. -(Optional) -.It Li k -Kilo; multiply the argument by 1024 -.It Li m -Mega; multiply the argument by 1048576 -.It Li g -Giga; multiply the argument by 1073741824 -.El -.Pp -If -.Nm -receives a -.Dv SIGINFO -(see the -.Dq status -argument of -.Xr stty 1 ) -or -.Dv SIGQUIT -signal whilst a transfer is in progress, the current transfer rate -statistics will be written to the standard error output, in the -same format as the standard completion message. -.Sh AUTO-FETCHING FILES -In addition to standard commands, this version of -.Nm -supports an auto-fetch feature. -To enable auto-fetch, simply pass the list of hostnames/files -on the command line. -.Pp -The following formats are valid syntax for an auto-fetch element: -.Bl -tag -width "FOO " -.\" [user@]host:[path][/] -.It Xo -.Sm off -.Op Ar user Li \&@ -.Ar host Li \&: -.Op Ar path -.Op Li / -.Sm on -.Xc -.Dq Classic -.Tn FTP -format. -.Pp -If -.Ar path -contains a glob character and globbing is enabled, -(see -.Ic glob ) , -then the equivalent of -.Ql mget path -is performed. -.Pp -If the directory component of -.Ar path -contains no globbing characters, -it is stored locally with the name basename (see -.Xr basename 1 ) -of -.Ic path , -in the current directory. -Otherwise, the full remote name is used as the local name, -relative to the local root directory. -.\" ftp://[user[:password]@]host[:port]/path[/][;type=X] -.It Xo -.Sm off -.Li ftp:// -.Oo Ar user -.Op Li \&: Ar password -.Li \&@ Oc -.Ar host Oo Li \&: Ar port Oc -.Li / Ar path -.Op Li / -.Op Li ;type= Ar X -.Sm on -.Xc -An -.Tn FTP -URL, retrieved using the -.Tn FTP -protocol if -.Ic "set ftp_proxy" -isn't defined. -Otherwise, transfer the URL using -.Tn HTTP -via the proxy defined in -.Ic "set ftp_proxy" . -If -.Ic "set ftp_proxy" -isn't defined and -.Ar user -is given, login as -.Ar user . -In this case, use -.Ar password -if supplied, otherwise prompt the user for one. -.Pp -If a suffix of -.Sq ;type=A -or -.Sq ;type=I -is supplied, then the transfer type will take place as -ascii or binary (respectively). -The default transfer type is binary. -.Pp -In order to be compliant with -.Li RFC 1738 , -.Nm -interprets the -.Ar path -part of an -.Dq ftp:// -auto-fetch URL as follows: -.Bl -bullet -.It -The -.Sq Li / -immediately after the -.Ar host Ns Oo Li \&: Ns Ar port Oc -is interpreted as a separator before the -.Ar path , -and not as part of the -.Ar path -itself. -.It -The -.Ar path -is interpreted as a -.So Li / Sc Ns -separated -list of name components. -For all but the last such component, -.Nm -performs the equivalent of a -.Ic cd -command. -For the last path component, -.Nm -performs the equivalent of a -.Ic get -command. -.It -Empty name components, -which result from -.Sq Li // -within the -.Ar path , -or from an extra -.Sq Li / -at the beginning of the -.Ar path , -will cause the equivalent of a -.Ic cd -command without a directory name. -This is unlikely to be useful. -.It -Any -.Sq Li \&% Ns Ar XX -codes -(per -.Li RFC 1738 ) -within the path components are decoded, with -.Ar XX -representing a character code in hexadecimal. -This decoding takes place after the -.Ar path -has been split into components, -but before each component is used in the equivalent of a -.Ic cd -or -.Ic get -command. -Some often-used codes are -.Sq Li \&%2F -(which represents -.Sq Li / ) -and -.Sq Li \&%7E -(which represents -.Sq Li ~ ) . -.El -.Pp -The above interpretation has the following consequences: -.Bl -bullet -.It -The path is interpreted relative to the -default login directory of the specified user or of the -.Sq anonymous -user. -If the -.Pa / -directory is required, use a leading path of -.Dq %2F . -If a user's home directory is required (and the remote server supports -the syntax), use a leading path of -.Dq %7Euser/ . -For example, to retrieve -.Pa /etc/motd -from -.Sq localhost -as the user -.Sq myname -with the password -.Sq mypass , -use -.Dq ftp://myname:mypass@localhost/%2fetc/motd -.It -The exact -.Ic cd -and -.Ic get -commands can be controlled by careful choice of -where to use -.Sq / -and where to use -.Sq %2F -(or -.Sq %2f ) . -For example, the following URLs correspond to the -equivalents of the indicated commands: -.Bl -tag -width "ftp://host/%2Fdir1%2Fdir2%2Ffile" -.It ftp://host/dir1/dir2/file -.Dq "cd dir1" , -.Dq "cd dir2" , -.Dq "get file" . -.It ftp://host/%2Fdir1/dir2/file -.Dq "cd /dir1" , -.Dq "cd dir2" , -.Dq "get file" . -.It ftp://host/dir1%2Fdir2/file -.Dq "cd dir1/dir2" , -.Dq "get file" . -.It ftp://host/%2Fdir1%2Fdir2/file -.Dq "cd /dir1/dir2" , -.Dq "get file" . -.It ftp://host/dir1%2Fdir2%2Ffile -.Dq "get dir1/dir2/file" . -.It ftp://host/%2Fdir1%2Fdir2%2Ffile -.Dq "get /dir1/dir2/file" . -.El -.It -You must have appropriate access permission for each of the -intermediate directories that is used in the equivalent of a -.Ic cd -command. -.El -.\" http://[user[:password]@]host[:port]/path -.It Xo -.Sm off -.Li http:// -.Oo Ar user -.Op Li \&: Ar password -.Li \&@ Oc -.Ar host Oo Li \&: Ar port Oc -.Li / Ar path -.Sm on -.Xc -An -.Tn HTTP -URL, retrieved using the -.Tn HTTP -protocol. -If -.Ic "set http_proxy" -is defined, it is used as a URL to an -.Tn HTTP -proxy server. -If -.Tn HTTP -authorization is required to retrieve -.Ar path , -and -.Sq user -(and optionally -.Sq password ) -is in the URL, use them for the first attempt to authenticate. -.\" file:///path -.It Xo -.Sm off -.Li file:/// Ar path -.Sm on -.Xc -A local URL, copied from -.Pa / Ns Ar path -on the local host. -.El -.Pp -Unless noted otherwise above, and -.Fl o Ar output -is not given, the file is stored in the current directory as the -.Xr basename 1 -of -.Ar path . -Note that if a -.Tn HTTP -redirect is received, the fetch is retried using the new target URL -supplied by the server, with a corresponding new -.Ar path . -Using an explicit -.Fl o Ar output -is recommended, to avoid writing to unexpected file names. -.Pp -If a classic format or an -.Tn FTP -URL format has a trailing -.Sq / -or an empty -.Ar path -component, then -.Nm -will connect to the site and -.Ic cd -to the directory given as the path, and leave the user in interactive -mode ready for further input. -This will not work if -.Ic "set ftp_proxy" -is being used. -.Pp -Direct -.Tn HTTP -transfers use HTTP 1.1. -Proxied -.Tn FTP -and -.Tn HTTP -transfers use HTTP 1.0. -.Pp -If -.Fl R -is given, all auto-fetches that don't go via the -.Tn FTP -or -.Tn HTTP -proxies will be restarted. -For -.Tn FTP , -this is implemented by using -.Nm reget -instead of -.Nm get . -For -.Tn HTTP , -this is implemented by using the -.Sq "Range: bytes=" -.Tn "HTTP/1.1" -directive. -.Pp -If WWW or proxy WWW authentication is required, you will be prompted -to enter a username and password to authenticate with. -.Pp -When specifying IPv6 numeric addresses in a URL, you need to -surround the address in square brackets. -E.g.: -.Dq ftp://[::1]:21/ . -This is because colons are used in IPv6 numeric address as well as -being the separator for the port number. -.Sh ABORTING A FILE TRANSFER -To abort a file transfer, use the terminal interrupt key -(usually Ctrl-C). -Sending transfers will be immediately halted. -Receiving transfers will be halted by sending an -.Tn FTP -protocol -.Dv ABOR -command to the remote server, and discarding any further data received. -The speed at which this is accomplished depends upon the remote -server's support for -.Dv ABOR -processing. -If the remote server does not support the -.Dv ABOR -command, the prompt will not appear until the remote server has completed -sending the requested file. -.Pp -If the terminal interrupt key sequence is used whilst -.Nm -is awaiting a reply from the remote server for the ABOR processing, -then the connection will be closed. -This is different from the traditional behaviour (which ignores the -terminal interrupt during this phase), but is considered more useful. -.Sh FILE NAMING CONVENTIONS -Files specified as arguments to -.Nm -commands are processed according to the following rules. -.Bl -enum -.It -If the file name -.Sq Fl -is specified, the -.Ar stdin -(for reading) or -.Ar stdout -(for writing) is used. -.It -If the first character of the file name is -.Sq \&| , -the -remainder of the argument is interpreted as a shell command. -.Nm -then forks a shell, using -.Xr popen 3 -with the argument supplied, and reads (writes) from the stdout -(stdin). -If the shell command includes spaces, the argument -must be quoted; e.g. -.Dq Qq Li \&| ls\ \-lt . -A particularly -useful example of this mechanism is: -.Dq Li dir \&"\&" \&|more . -.It -Failing the above checks, if ``globbing'' is enabled, -local file names are expanded -according to the rules used in the -.Xr csh 1 ; -c.f. the -.Ic glob -command. -If the -.Nm -command expects a single local file (e.g. -.Ic put ) , -only the first filename generated by the "globbing" operation is used. -.It -For -.Ic mget -commands and -.Ic get -commands with unspecified local file names, the local filename is -the remote filename, which may be altered by a -.Ic case , -.Ic ntrans , -or -.Ic nmap -setting. -The resulting filename may then be altered if -.Ic runique -is on. -.It -For -.Ic mput -commands and -.Ic put -commands with unspecified remote file names, the remote filename is -the local filename, which may be altered by a -.Ic ntrans -or -.Ic nmap -setting. -The resulting filename may then be altered by the remote server if -.Ic sunique -is on. -.El -.Sh FILE TRANSFER PARAMETERS -The -.Tn FTP -specification specifies many parameters which may affect a file transfer. -The -.Ic type -may be one of -.Dq ascii , -.Dq image -(binary), -.Dq ebcdic , -and -.Dq local byte size -(for -.Tn PDP Ns -10's -and -.Tn PDP Ns -20's -mostly). -.Nm -supports the ascii and image types of file transfer, -plus local byte size 8 for -.Ic tenex -mode transfers. -.Pp -.Nm -supports only the default values for the remaining -file transfer parameters: -.Ic mode , -.Ic form , -and -.Ic struct . -.Sh THE .netrc FILE -The -.Pa .netrc -file contains login and initialization information -used by the auto-login process. -It resides in the user's home directory, -unless overridden with the -.Fl N Ar netrc -option, or specified in the -.Ev NETRC -environment variable. -The following tokens are recognized; they may be separated by spaces, -tabs, or new-lines: -.Bl -tag -width password -.It Ic machine Ar name -Identify a remote machine -.Ar name . -The auto-login process searches the -.Pa .netrc -file for a -.Ic machine -token that matches the remote machine specified on the -.Nm -command line or as an -.Ic open -command argument. -Once a match is made, the subsequent -.Pa .netrc -tokens are processed, -stopping when the end of file is reached or another -.Ic machine -or a -.Ic default -token is encountered. -.It Ic default -This is the same as -.Ic machine -.Ar name -except that -.Ic default -matches any name. -There can be only one -.Ic default -token, and it must be after all -.Ic machine -tokens. -This is normally used as: -.Pp -.Dl default login anonymous password user@site -.Pp -thereby giving the user an automatic anonymous -.Tn FTP -login to -machines not specified in -.Pa .netrc . -This can be overridden -by using the -.Fl n -flag to disable auto-login. -.It Ic login Ar name -Identify a user on the remote machine. -If this token is present, the auto-login process will initiate -a login using the specified -.Ar name . -.It Ic password Ar string -Supply a password. -If this token is present, the auto-login process will supply the -specified string if the remote server requires a password as part -of the login process. -Note that if this token is present in the -.Pa .netrc -file for any user other -than -.Ar anonymous , -.Nm -will abort the auto-login process if the -.Pa .netrc -is readable by -anyone besides the user. -.It Ic account Ar string -Supply an additional account password. -If this token is present, the auto-login process will supply the -specified string if the remote server requires an additional -account password, or the auto-login process will initiate an -.Dv ACCT -command if it does not. -.It Ic macdef Ar name -Define a macro. -This token functions like the -.Nm -.Ic macdef -command functions. -A macro is defined with the specified name; its contents begin with the -next -.Pa .netrc -line and continue until a blank line (consecutive new-line -characters) is encountered. -If a macro named -.Ic init -is defined, it is automatically executed as the last step in the -auto-login process. -For example, -.Bd -literal -offset indent -default -macdef init -epsv4 off -.Ed -.Pp -followed by a blank line. -.El -.Sh COMMAND LINE EDITING -.Nm -supports interactive command line editing, via the -.Xr editline 3 -library. -It is enabled with the -.Ic edit -command, and is enabled by default if input is from a tty. -Previous lines can be recalled and edited with the arrow keys, -and other GNU Emacs-style editing keys may be used as well. -.Pp -The -.Xr editline 3 -library is configured with a -.Pa .editrc -file - refer to -.Xr editrc 5 -for more information. -.Pp -An extra key binding is available to -.Nm -to provide context sensitive command and filename completion -(including remote file completion). -To use this, bind a key to the -.Xr editline 3 -command -.Ic ftp-complete . -By default, this is bound to the TAB key. -.Sh COMMAND LINE PROMPT -By default, -.Nm -displays a command line prompt of -.Dq "ftp\*[Gt] " -to the user. -This can be changed with the -.Ic "set prompt" -command. -.Pp -A prompt can be displayed on the right side of the screen (after the -command input) with the -.Ic "set rprompt" -command. -.Pp -The following formatting sequences are replaced by the given -information: -.Bl -tag -width "%% " -offset indent -.It Li \&%/ -The current remote working directory. -.\" %c[[0]n], %.[[0]n] -.It Xo -.Sm off -.Li \&%c -.Op Oo Li 0 Oc Ar n Ns , -.Li \&%. -.Op Oo Li 0 Oc Ar n -.Sm on -.Xc -The trailing component of the current remote working directory, or -.Em n -trailing components if a digit -.Em n -is given. -If -.Em n -begins with -.Sq 0 , -the number of skipped components precede the trailing component(s) in -the format -.\" ``/<number>trailing'' -.Do -.Sm off -.Li / Li \*[Lt] Va number Li \*[Gt] -.Va trailing -.Sm on -.Dc -(for -.Sq \&%c ) -or -.\" ``...trailing'' -.Dq Li \&... Ns Va trailing -(for -.Sq \&%. ) . -.It Li \&%M -The remote host name. -.It Li \&%m -The remote host name, up to the first -.Sq \&. . -.It Li \&%n -The remote user name. -.It Li \&%% -A single -.Sq % . -.El -.Sh ENVIRONMENT -.Nm -uses the following environment variables. -.Bl -tag -width "FTPSERVERPORT" -.It Ev FTPANONPASS -Password to send in an anonymous -.Tn FTP -transfer. -Defaults to -.Dq Li `whoami`@ . -.It Ev FTPMODE -Overrides the default operation mode. -Support values are: -.Bl -tag -width "passive" -.It Cm active -active mode -.Tn FTP -only -.It Cm auto -automatic determination of passive or active (this is the default) -.It Cm gate -gate-ftp mode -.It Cm passive -passive mode -.Tn FTP -only -.El -.It Ev FTPPROMPT -Command-line prompt to use. -Defaults to -.Dq "ftp\*[Gt] " . -Refer to -.Sx COMMAND LINE PROMPT -for more information. -.It Ev FTPRPROMPT -Command-line right side prompt to use. -Defaults to -.Dq "" . -Refer to -.Sx COMMAND LINE PROMPT -for more information. -.It Ev FTPSERVER -Host to use as gate-ftp server when -.Ic gate -is enabled. -.It Ev FTPSERVERPORT -Port to use when connecting to gate-ftp server when -.Ic gate -is enabled. -Default is port returned by a -.Fn getservbyname -lookup of -.Dq ftpgate/tcp . -.It Ev FTPUSERAGENT -The value to send for the -.Tn HTTP -User-Agent -header. -.It Ev HOME -For default location of a -.Pa .netrc -file, if one exists. -.It Ev NETRC -An alternate location of the -.Pa .netrc -file. -.It Ev PAGER -Used by various commands to display files. -Defaults to -.Xr more 1 -if empty or not set. -.It Ev SHELL -For default shell. -.It Ev ftp_proxy -URL of -.Tn FTP -proxy to use when making -.Tn FTP -URL requests -(if not defined, use the standard -.Tn FTP -protocol). -.Pp -See -.Ev http_proxy -for further notes about proxy use. -.It Ev http_proxy -URL of -.Tn HTTP -proxy to use when making -.Tn HTTP -URL requests. -If proxy authentication is required and there is a username and -password in this URL, they will automatically be used in the first -attempt to authenticate to the proxy. -.Pp -If -.Dq unsafe -URL characters are required in the username or password -(for example -.Sq @ -or -.Sq / ) , -encode them with -.Li RFC 1738 -.Sq Li \&% Ns Ar XX -encoding. -.Pp -Note that the use of a username and password in -.Ev ftp_proxy -and -.Ev http_proxy -may be incompatible with other programs that use it -(such as -.Xr lynx 1 ) . -.Pp -.Em NOTE : -this is not used for interactive sessions, only for command-line -fetches. -.It Ev no_proxy -A space or comma separated list of hosts (or domains) for which -proxying is not to be used. -Each entry may have an optional trailing ":port", which restricts -the matching to connections to that port. -.El -.Sh EXTENDED PASSIVE MODE AND FIREWALLS -Some firewall configurations do not allow -.Nm -to use extended passive mode. -If you find that even a simple -.Ic ls -appears to hang after printing a message such as this: -.Pp -.Dl 229 Entering Extended Passive Mode (|||58551|) -.Pp -then you will need to disable extended passive mode with -.Ic epsv4 off . -See the above section -.Sx The .netrc File -for an example of how to make this automatic. -.Sh SEE ALSO -.Xr getservbyname 3 , -.Xr editrc 5 , -.Xr services 5 , -.Xr ftpd 8 -.Sh STANDARDS -.Nm -attempts to be compliant with -.Li RFC 959 , -.Li RFC 1123 , -.Li RFC 1738 , -.Li RFC 2068 , -.Li RFC 2389 , -.Li RFC 2428 , -.Li RFC 2732 , -and -.Cm draft-ietf-ftpext-mlst-11 . -.Sh HISTORY -The -.Nm -command appeared in -.Bx 4.2 . -.Pp -Various features such as command line editing, context sensitive -command and file completion, dynamic progress bar, automatic -fetching of files and URLs, modification time preservation, -transfer rate throttling, configurable command line prompt, -and other enhancements over the standard -.Bx -.Nm -were implemented in -.Nx 1.3 -and later releases -by -.An Luke Mewburn -.Aq lukem@NetBSD.org . -.Pp -IPv6 support was added by the WIDE/KAME project -(but may not be present in all non-NetBSD versions of this program, depending -if the operating system supports IPv6 in a similar manner to KAME). -.Sh BUGS -Correct execution of many commands depends upon proper behavior -by the remote server. -.Pp -An error in the treatment of carriage returns -in the -.Bx 4.2 -ascii-mode transfer code -has been corrected. -This correction may result in incorrect transfers of binary files -to and from -.Bx 4.2 -servers using the ascii type. -Avoid this problem by using the binary image type. -.Pp -.Nm -assumes that all IPv4 mapped addresses -.Po -IPv6 addresses with a form like -.Li ::ffff:10.1.1.1 -.Pc -indicate IPv4 destinations which can be handled by -.Dv AF_INET -sockets. -However, in certain IPv6 network configurations, this assumption is not true. -In such an environment, IPv4 mapped addresses must be passed to -.Dv AF_INET6 -sockets directly. -For example, if your site uses a SIIT translator for IPv6-to-IPv4 translation, -.Nm -is unable to support your configuration. |