Annotation of cci/usr/src/man/man1/ftp.1c, revision 1.1.1.1

1.1       root        1: .TH FTP 1C "18 July 1983"
                      2: .UC 4
                      3: .SH NAME
                      4: ftp \- file transfer program
                      5: .SH SYNOPSIS
                      6: .B ftp
                      7: [ 
                      8: .B \-v
                      9: ] [
                     10: .B \-d
                     11: ] [
                     12: .B \-i
                     13: ] [
                     14: .B \-n
                     15: ] [
                     16: .B \-g
                     17: ] [
                     18: .B host
                     19: ]
                     20: .SH DESCRIPTION
                     21: .I Ftp
                     22: is the user interface to the ARPANET standard File Transfer Protocol.
                     23: The program allows a user to transfer files to and from a
                     24: remote network site.
                     25: .PP
                     26: The client host with which 
                     27: .I ftp
                     28: is to communicate may be specified on the command line.
                     29: If this is done,
                     30: .I ftp
                     31: will immediately attempt to establish a connection to an FTP
                     32: server on that host; otherwise, 
                     33: .I ftp
                     34: will enter its command interpreter and await instructions
                     35: from the user.  When 
                     36: .I ftp
                     37: is awaiting commands from the user the prompt \*(lqftp>\*(rq
                     38: is provided the user.  The following commands are recognized
                     39: by
                     40: .IR ftp :
                     41: .TP
                     42: .B \&!
                     43: Invoke a shell on the local machine.
                     44: .TP
                     45: .B \&!command
                     46: Invoke a command on the local machine.
                     47: .TP
                     48: \fBappend\fP \fIlocal-file\fP [ \fIremote-file\fP ]
                     49: Append a local file to a file on the remote machine.  If
                     50: .I remote-file
                     51: is left unspecified, the local file name is used in naming the
                     52: remote file.  File transfer uses the current settings for
                     53: .IR type ,
                     54: .IR format ,
                     55: .IR mode ,
                     56: and
                     57: .IR structure .
                     58: .TP
                     59: .B ascii
                     60: Set the file transfer 
                     61: .I type
                     62: to network ASCII.  This is the default type.
                     63: .TP
                     64: .B bell
                     65: Arrange that a bell be sounded after each file transfer
                     66: command is completed.
                     67: .TP
                     68: .B binary
                     69: Set the file transfer
                     70: .I type
                     71: to support binary image transfer.
                     72: .TP
                     73: .B bye
                     74: Terminate the FTP session with the remote server
                     75: and exit
                     76: .IR ftp .
                     77: .TP
                     78: .BI cd " remote-directory"
                     79: Change the working directory on the remote machine
                     80: to 
                     81: .IR remote-directory .
                     82: .TP
                     83: .B close
                     84: Terminate the FTP session with the remote server, and
                     85: return to the command interpreter.
                     86: .TP
                     87: .BI delete " remote-file"
                     88: Delete the file
                     89: .I remote-file
                     90: on the remote machine.
                     91: .TP
                     92: \fBdebug\fP [ \fIdebug-value\fP ]
                     93: Toggle debugging mode.  If an optional
                     94: .I debug-value
                     95: is specified it is used to set the debugging level.
                     96: When debugging is on,
                     97: .I ftp
                     98: prints each command sent to the remote machine, preceded
                     99: by the string \*(lq-->\*(rq.
                    100: .TP
                    101: \fBdir\fP [ \fIremote-directory\fP ] [ \fIlocal-file\fP ]
                    102: Print a listing of the directory contents in the
                    103: directory,
                    104: .IR remote-directory ,
                    105: and, optionally, placing the output in
                    106: .IR local-file .
                    107: If no directory is specified, the current working
                    108: directory on the remote machine is used.  If no local
                    109: file is specified, output comes to the terminal.
                    110: .TP
                    111: .BI form " format"
                    112: Set the file transfer 
                    113: .I form
                    114: to 
                    115: .IR format .
                    116: The default format is \*(lqfile\*(rq.
                    117: .TP
                    118: \fBget\fP \fIremote-file\fP [ \fIlocal-file\fP ]
                    119: Retrieve the 
                    120: .I remote-file
                    121: and store it on the local machine.  If the local
                    122: file name is not specified, it is given the same
                    123: name it has on the remote machine.
                    124: The current settings for 
                    125: .IR type ,
                    126: .IR form ,
                    127: .IR mode ,
                    128: and
                    129: .I structure
                    130: are used while transferring the file.
                    131: .TP
                    132: \fBhash\f
                    133: Toggle hash-sign (``#'') printing for each data block
                    134: transferred.  The size of a data block is 1024 bytes.
                    135: .TP
                    136: .B glob
                    137: Toggle file name globbing.  With file name globbing enabled,
                    138: each local file or pathname is processed for 
                    139: .IR csh (1)
                    140: metacharacters.  These characters include ``*?[]~{}''.
                    141: Remote files specified in mutliple item commands, e.g.
                    142: .IR mput ,
                    143: are globbed by the remote server.  With globbing disabled
                    144: all files and pathnames are treated literally.
                    145: .TP
                    146: \fBhelp\fP [ \fIcommand\fP ]
                    147: Print an informative message about the meaning of
                    148: .IR command .
                    149: If no argument is given, 
                    150: .I ftp
                    151: prints a list of the known commands.
                    152: .TP
                    153: \fBlcd\fP [ \fIdirectory\fP ]
                    154: Change the working directory on the local machine.  If
                    155: no 
                    156: .I directory
                    157: is specified, the user's home directory is used.
                    158: .TP
                    159: \fBls\fP [ \fIremote-directory\fP ] [ \fIlocal-file\fP ]
                    160: Print an abbreviated listing of the contents of a
                    161: directory on the remote machine.  If
                    162: .I remote-directory
                    163: is left unspecified, the current working directory
                    164: is used.  If no local file is specified, the output
                    165: is sent to the terminal.
                    166: .TP
                    167: \fBmdelete\fP \fIremote-files\fP
                    168: Delete the specified files on the remote machine.  If globbing
                    169: is enabled, the specification of remote files will first be
                    170: expanded using
                    171: .IR ls .
                    172: .TP
                    173: \fBmdir\fP \fIremote-files\fP \fIlocal-file\fP
                    174: Obtain a directory listing of multiple files on the remote
                    175: machine and place the result in
                    176: .IR local-file .
                    177: .TP
                    178: \fBmget\fP \fIremote-files\fP
                    179: Retrieve the specified files from the remote machine and
                    180: place them in the current local directory.  If globbing
                    181: is enabled, the specification of remote files will first be
                    182: expanding using
                    183: .IR ls .
                    184: .TP
                    185: \fBmkdir\fP \fIdirectory-name\fP
                    186: Make a directory on the remote machine.
                    187: .TP
                    188: \fBmls\fP \fIremote-files\fP \fIlocal-file\fP
                    189: Obtain an abbreviated listing of multiple files on the remote
                    190: machine and place the result in
                    191: .IR local-file .
                    192: .TP
                    193: \fBmode\fP [ \fImode-name\fP ]
                    194: Set the file transfer
                    195: .I mode
                    196: to
                    197: .IR mode-name .
                    198: The default mode is \*(lqstream\*(rq mode.
                    199: .TP
                    200: \fBmput\fP \fIlocal-files\fP
                    201: Transfer multiple local files from the current local directory
                    202: to the current working directory on the remote machine.
                    203: .TP
                    204: \fBopen\fP \fIhost\fP [ \fIport\fP ]
                    205: Establish a connection to the specified
                    206: .I host
                    207: FTP server.  An optional port number may be supplied,
                    208: in which case, 
                    209: .I ftp
                    210: will attempt to contact an FTP server at that port.
                    211: If the 
                    212: .I auto-login
                    213: option is on (default), 
                    214: .I ftp
                    215: will also attempt to automatically log the user in to
                    216: the FTP server (see below).
                    217: .TP
                    218: .B prompt
                    219: Toggle interactive prompting.  Interactive prompting
                    220: occurs during multiple file transfers to allow the
                    221: user to selectively retrieve or store files.  If
                    222: prompting is turned off (default), any
                    223: .I mget
                    224: or
                    225: .I mput
                    226: will transfer all files.
                    227: .TP
                    228: \fBput\fP \fIlocal-file\fP [ \fIremote-file\fP ]
                    229: Store a local file on the remote machine.  If 
                    230: .I remote-file
                    231: is left unspecified, the local file name is used
                    232: in naming the remote file.  File transfer uses the
                    233: current settings for
                    234: .IR type ,
                    235: .IR format ,
                    236: .IR mode ,
                    237: and
                    238: .IR structure .
                    239: .TP
                    240: .B pwd
                    241: Print the name of the current working directory on the remote
                    242: machine.
                    243: .TP
                    244: .B quit
                    245: A synonym for bye.
                    246: .TP
                    247: .BI quote " arg1 arg2 ..."
                    248: The arguments specified are sent, verbatim, to the remote FTP
                    249: server.  A single FTP reply code is expected in return.
                    250: .TP
                    251: \fBrecv\fP \fIremote-file\fP [ \fIlocal-file\fP ]
                    252: A synonym for get.
                    253: .TP
                    254: \fBremotehelp\fP [ \fIcommand-name\fP ]
                    255: Request help from the remote FTP server.  If a 
                    256: .I command-name
                    257: is specified it is supplied to the server as well.
                    258: .TP
                    259: \fBrename\fP [ \fIfrom\fP ] [ \fIto\fP ]
                    260: Rename the file
                    261: .I from
                    262: on the remote machine, to the file
                    263: .IR to .
                    264: .TP
                    265: .BI rmdir " directory-name"
                    266: Delete a directory on the remote machine.
                    267: .TP
                    268: \fBsend\fP \fIlocal-file\fP [ \fIremote-file\fP ]
                    269: A synonym for put.
                    270: .TP
                    271: .B sendport
                    272: Toggle the use of PORT commands.  By default, 
                    273: .I ftp
                    274: will attempt to use a PORT command when establishing
                    275: a connection for each data transfer.  If the PORT
                    276: command fails, 
                    277: .I ftp
                    278: will use the default data port.  When the use of PORT
                    279: commands is disabled, no attempt will be made to use
                    280: PORT commands for each data transfer.  This is useful
                    281: for certain FTP implementations which do ignore PORT
                    282: commands but, incorrectly, indicate they've been accepted.
                    283: .TP
                    284: .B status
                    285: Show the current status of
                    286: .IR ftp .
                    287: .TP
                    288: \fBstruct\fP [ \fIstruct-name\fP ]
                    289: Set the file transfer
                    290: .I structure
                    291: to
                    292: .IR struct-name .
                    293: By default \*(lqstream\*(rq structure is used.
                    294: .TP
                    295: .B tenex
                    296: Set the file transfer type to that needed to
                    297: talk to TENEX machines.
                    298: .TP
                    299: .B trace
                    300: Toggle packet tracing.
                    301: .TP
                    302: \fBtype\fP [ \fItype-name\fP ]
                    303: Set the file transfer
                    304: .I type
                    305: to
                    306: .IR type-name .
                    307: If no type is specified, the current type
                    308: is printed.  The default type is network ASCII.
                    309: .TP
                    310: \fBuser\fP \fIuser-name\fP [ \fIpassword\fP ] [ \fIaccount\fP ]
                    311: Identify yourself to the remote FTP server.  If the
                    312: password is not specified and the server requires it,
                    313: .I ftp
                    314: will prompt the user for it (after disabling local echo).
                    315: If an account field is not specified, and the FTP server
                    316: requires it, the user will be prompted for it.  Unless
                    317: .I ftp
                    318: is invoked with \*(lqauto-login\*(rq disabled, this
                    319: process is done automatically on initial connection to
                    320: the FTP server.
                    321: .TP
                    322: .B verbose
                    323: Toggle verbose mode.  In verbose mode, all responses from
                    324: the FTP server are displayed to the user.  In addition,
                    325: if verbose is on, when a file transfer completes, statistics
                    326: regarding the efficiency of the transfer are reported.  By default,
                    327: verbose is on.
                    328: .TP
                    329: \fB?\fP [ \fIcommand\fP ]
                    330: A synonym for help.
                    331: .PP
                    332: Command arguments which have embedded spaces may be quoted with
                    333: quote (") marks.
                    334: .SH "FILE NAMING CONVENTIONS"
                    335: Files specified as arguments to
                    336: .I ftp
                    337: commands are processed according to the following rules.
                    338: .TP
                    339: 1)
                    340: If the file name \*(lq\-\*(rq is specified, the
                    341: .B stdin
                    342: (for reading) or
                    343: .B stdout
                    344: (for writing) is used.
                    345: .TP
                    346: 2)
                    347: If the first character of the file name is \*(lq|\*(rq, the
                    348: remainder of the argument is interpreted as a shell command.
                    349: .I Ftp
                    350: then forks a shell, using 
                    351: .IR popen (3)
                    352: with the argument supplied, and reads (writes) from the stdout
                    353: (stdin).  If the shell command includes spaces, the argument
                    354: must be quoted; e.g. \*(lq"| ls -lt"\*(rq.  A particularly
                    355: useful example of this mechanism is: \*(lqdir |more\*(rq.
                    356: .TP
                    357: 3)
                    358: Failing the above checks, if ``globbing'' is enabled, 
                    359: local file names are expanded
                    360: according to the rules used in the 
                    361: .IR csh (1);
                    362: c.f. the 
                    363: .I glob
                    364: command. 
                    365: .SH "FILE TRANSFER PARAMETERS"
                    366: The FTP specification specifies many parameters which may
                    367: affect a file transfer.  The 
                    368: .I type
                    369: may be one of \*(lqascii\*(rq, \*(lqimage\*(rq (binary),
                    370: \*(lqebcdic\*(rq, and \*(lqlocal byte size\*(rq (for PDP-10's
                    371: and PDP-20's mostly).
                    372: .I Ftp
                    373: supports the ascii and image types of file transfer.
                    374: .PP
                    375: .I Ftp
                    376: supports only the default values for the remaining
                    377: file transfer parameters: 
                    378: .IR mode ,
                    379: .IR form ,
                    380: and
                    381: .IR struct .
                    382: .SH OPTIONS
                    383: Options may be specified at the command line, or to the 
                    384: command interpreter.
                    385: .PP
                    386: The
                    387: .B \-v
                    388: (verbose on) option forces
                    389: .I ftp
                    390: to show all responses from the remote server, as well
                    391: as report on data transfer statistics.
                    392: .PP
                    393: The
                    394: .B \-n
                    395: option restrains 
                    396: .I ftp
                    397: from attempting \*(lqauto-login\*(rq upon initial connection.
                    398: If auto-login is enabled, 
                    399: .I ftp
                    400: will check the
                    401: .I .netrc
                    402: file in the user's home directory for an entry describing
                    403: an account on the remote machine.  If no entry exists,
                    404: .I ftp
                    405: will use the login name on the local machine as the user
                    406: identity on the remote machine, and prompt for a password
                    407: and, optionally, an account with which to login.
                    408: .PP
                    409: The
                    410: .B \-i
                    411: option turns off interactive prompting during
                    412: mutliple file transfers.
                    413: .PP
                    414: The
                    415: .B \-d
                    416: option enables debugging.
                    417: .PP
                    418: The
                    419: .B \-g
                    420: option disables file name globbing.
                    421: .PP
                    422: .SH NOTE
                    423: The syntax of file transfer commands is different from that of 
                    424: .B cp(1)
                    425: or
                    426: .B rcp(1C);
                    427: directory names cannot be specified in file transfer commands.
                    428: .SH SEE ALSO
                    429: ftpd(8C) on how FTP server authenticates remote users.
                    430: .SH BUGS
                    431: Many FTP server implementation do not support the experimental
                    432: operations such as print working directory.  Aborting a file
                    433: transfer does not work right; if one attempts this the local
                    434: .I ftp
                    435: will likely have to be killed by hand.
                    436: .PP
                    437: If a command is interrupted,
                    438: .I ftp
                    439: does not discard the interrupted command's output which is then
                    440: displayed 
                    441: .I after 
                    442: the 
                    443: .I next 
                    444: command is given. The output is quite confusing.
                    445: .PP
                    446: If the user uses the command
                    447: .I sendport
                    448: to reuse the same port number for each file transfer, he should wait
                    449: for approximately 1 minute between each transfer. Otherwise, if the
                    450: FTP server does not retry when failed to connect, the user
                    451: .I ftp
                    452: might hang waiting for the server connection.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.