Annotation of 43BSDTahoe/man/man1/ftp.1, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1985 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)ftp.1       6.9 (Berkeley) 6/27/88
        !             6: .\"
        !             7: .TH FTP 1C "April 29, 1985"
        !             8: .UC 5
        !             9: .SH NAME
        !            10: ftp \- ARPANET file transfer program
        !            11: .SH SYNOPSIS
        !            12: .B ftp
        !            13: [ 
        !            14: .B \-v
        !            15: ] [
        !            16: .B \-d
        !            17: ] [
        !            18: .B \-i
        !            19: ] [
        !            20: .B \-n
        !            21: ] [
        !            22: .B \-g
        !            23: ] [
        !            24: .B host
        !            25: ]
        !            26: .SH DESCRIPTION
        !            27: .I Ftp
        !            28: is the user interface to the ARPANET standard File Transfer Protocol.
        !            29: The program allows a user to transfer files to and from a
        !            30: remote network site.
        !            31: .PP
        !            32: The client host with which 
        !            33: .I ftp
        !            34: is to communicate may be specified on the command line.
        !            35: If this is done,
        !            36: .I ftp
        !            37: will immediately attempt to establish a connection to an FTP
        !            38: server on that host; otherwise, 
        !            39: .I ftp
        !            40: will enter its command interpreter and await instructions
        !            41: from the user.  When 
        !            42: .I ftp
        !            43: is awaiting commands from the user the prompt \*(lqftp>\*(rq
        !            44: is provided to the user.  The following commands are recognized
        !            45: by
        !            46: .IR ftp :
        !            47: .TP
        !            48: \fB\&!\fP [ \fIcommand\fP [ \fIargs\fP ] ]
        !            49: Invoke an interactive shell on the local machine.
        !            50: If there are arguments, the first is taken to be a command to execute
        !            51: directly, with the rest of the arguments as its arguments.
        !            52: .TP
        !            53: \fB\&$\fP \fImacro-name\fP [ \fIargs\fP ]
        !            54: Execute the macro \fImacro-name\fP that was defined with the
        !            55: \fBmacdef\fP command.
        !            56: Arguments are passed to the macro unglobbed.
        !            57: .TP
        !            58: \fBaccount\fP [ \fIpasswd\fP ]
        !            59: Supply a supplemental password required by a remote system for access
        !            60: to resources once a login has been successfully completed.
        !            61: If no argument is included, the user will be prompted for an account
        !            62: password in a non-echoing input mode.
        !            63: .TP
        !            64: \fBappend\fP \fIlocal-file\fP [ \fIremote-file\fP ]
        !            65: Append a local file to a file on the remote machine.  If
        !            66: .I remote-file
        !            67: is left unspecified, the local file name is used in naming the
        !            68: remote file after being altered by any
        !            69: .I ntrans
        !            70: or
        !            71: .I nmap
        !            72: setting.
        !            73: File transfer uses the current settings for
        !            74: .IR type ,
        !            75: .IR format ,
        !            76: .IR mode ,
        !            77: and
        !            78: .IR structure .
        !            79: .TP
        !            80: .B ascii
        !            81: Set the file transfer 
        !            82: .I type
        !            83: to network ASCII.  This is the default type.
        !            84: .TP
        !            85: .B bell
        !            86: Arrange that a bell be sounded after each file transfer
        !            87: command is completed.
        !            88: .TP
        !            89: .B binary
        !            90: Set the file transfer
        !            91: .I type
        !            92: to support binary image transfer.
        !            93: .TP
        !            94: .B bye
        !            95: Terminate the FTP session with the remote server
        !            96: and exit
        !            97: .IR ftp .
        !            98: An end of file will also terminate the session and exit.
        !            99: .TP
        !           100: .B case
        !           101: Toggle remote computer file name case mapping during
        !           102: .B mget
        !           103: commands.
        !           104: When
        !           105: .B case
        !           106: is on (default is off), remote computer file names with all letters in
        !           107: upper case are written in the local directory with the letters mapped
        !           108: to lower case.
        !           109: .TP
        !           110: .BI cd " remote-directory"
        !           111: Change the working directory on the remote machine
        !           112: to 
        !           113: .IR remote-directory .
        !           114: .TP
        !           115: .B cdup
        !           116: Change the remote machine working directory to the parent of the
        !           117: current remote machine working directory.
        !           118: .TP
        !           119: .B close
        !           120: Terminate the FTP session with the remote server, and
        !           121: return to the command interpreter.
        !           122: Any defined macros are erased.
        !           123: .TP
        !           124: .B cr
        !           125: Toggle carriage return stripping during
        !           126: ascii type file retrieval.
        !           127: Records are denoted by a carriage return/linefeed sequence
        !           128: during ascii type file transfer.
        !           129: When
        !           130: .B cr
        !           131: is on (the default), carriage returns are stripped from this
        !           132: sequence to conform with the UNIX single linefeed record
        !           133: delimiter.
        !           134: Records on non-UNIX remote systems may contain single linefeeds;
        !           135: when an ascii type transfer is made, these linefeeds may be
        !           136: distinguished from a record delimiter only when
        !           137: .B cr
        !           138: is off.
        !           139: .TP
        !           140: .BI delete " remote-file"
        !           141: Delete the file
        !           142: .I remote-file
        !           143: on the remote machine.
        !           144: .TP
        !           145: \fBdebug\fP [ \fIdebug-value\fP ]
        !           146: Toggle debugging mode.  If an optional
        !           147: .I debug-value
        !           148: is specified it is used to set the debugging level.
        !           149: When debugging is on,
        !           150: .I ftp
        !           151: prints each command sent to the remote machine, preceded
        !           152: by the string \*(lq-->\*(rq.
        !           153: .TP
        !           154: \fBdir\fP [ \fIremote-directory\fP ] [ \fIlocal-file\fP ]
        !           155: Print a listing of the directory contents in the
        !           156: directory,
        !           157: .IR remote-directory ,
        !           158: and, optionally, placing the output in
        !           159: .IR local-file .
        !           160: If interactive prompting is on,
        !           161: .I ftp
        !           162: will prompt the user to verify that the last argument is indeed the
        !           163: target local file for receiving
        !           164: .B dir
        !           165: output.
        !           166: If no directory is specified, the current working
        !           167: directory on the remote machine is used.  If no local
        !           168: file is specified, or \fIlocal-file\fP is \fB-\fP,
        !           169: output comes to the terminal.
        !           170: .TP
        !           171: .B disconnect
        !           172: A synonym for
        !           173: .BR close .
        !           174: .TP
        !           175: .BI form " format"
        !           176: Set the file transfer 
        !           177: .I form
        !           178: to 
        !           179: .IR format .
        !           180: The default format is \*(lqfile\*(rq.
        !           181: .TP
        !           182: \fBget\fP \fIremote-file\fP [ \fIlocal-file\fP ]
        !           183: Retrieve the 
        !           184: .I remote-file
        !           185: and store it on the local machine.  If the local
        !           186: file name is not specified, it is given the same
        !           187: name it has on the remote machine, subject to
        !           188: alteration by the current
        !           189: .IR case ,
        !           190: .IR ntrans ,
        !           191: and
        !           192: .I nmap
        !           193: settings.
        !           194: The current settings for 
        !           195: .IR type ,
        !           196: .IR form ,
        !           197: .IR mode ,
        !           198: and
        !           199: .I structure
        !           200: are used while transferring the file.
        !           201: .TP
        !           202: \fBglob\fP
        !           203: Toggle filename expansion for \fBmdelete\fP, \fBmget\fP and \fBmput\fP.
        !           204: If globbing is turned off with \fBglob\fP, the file name arguments
        !           205: are taken literally and not expanded.
        !           206: Globbing for \fBmput\fP is done as in \fBcsh\fP(1).
        !           207: For \fBmdelete\fP and \fBmget\fP, each remote file name is expanded
        !           208: separately on the remote machine and the lists are not merged.
        !           209: Expansion of a directory name is likely to be 
        !           210: different from expansion of the name of an ordinary file:
        !           211: the exact result depends on the foreign operating system and ftp server,
        !           212: and can be previewed by doing `\fBmls\fP\ \fIremote-files\fP\ \fB-\fP'.
        !           213: Note:  \fBmget\fP and \fBmput\fP are not meant to transfer
        !           214: entire directory subtrees of files.  That can be done by
        !           215: transferring a \fBtar\fP(1) archive of the subtree (in binary mode).
        !           216: .TP
        !           217: \fBhash\f
        !           218: Toggle hash-sign (``#'') printing for each data block
        !           219: transferred.  The size of a data block is 1024 bytes.
        !           220: .TP
        !           221: \fBhelp\fP [ \fIcommand\fP ]
        !           222: Print an informative message about the meaning of
        !           223: .IR command .
        !           224: If no argument is given, 
        !           225: .I ftp
        !           226: prints a list of the known commands.
        !           227: .TP
        !           228: \fBlcd\fP [ \fIdirectory\fP ]
        !           229: Change the working directory on the local machine.  If
        !           230: no 
        !           231: .I directory
        !           232: is specified, the user's home directory is used.
        !           233: .TP
        !           234: \fBls\fP [ \fIremote-directory\fP ] [ \fIlocal-file\fP ]
        !           235: Print an abbreviated listing of the contents of a
        !           236: directory on the remote machine.  If
        !           237: .I remote-directory
        !           238: is left unspecified, the current working directory is used.
        !           239: If interactive prompting is on,
        !           240: .I ftp
        !           241: will prompt the user to verify that the last argument is indeed the
        !           242: target local file for receiving
        !           243: .B ls
        !           244: output.
        !           245: If no local file is specified, or if \fIlocal-file\fR is \fB-\fR,
        !           246: the output is sent to the terminal.
        !           247: .TP
        !           248: \fBmacdef\fP \fImacro-name\fP
        !           249: Define a macro.
        !           250: Subsequent lines are stored as the macro
        !           251: \fImacro-name\fP; a null line (consecutive newline characters
        !           252: in a file or
        !           253: carriage returns from the terminal) terminates macro input mode.
        !           254: There is a limit of 16 macros and 4096 total characters in all
        !           255: defined macros.
        !           256: Macros remain defined until a
        !           257: .B close
        !           258: command is executed.
        !           259: The macro processor interprets '$' and '\\' as special characters.
        !           260: A '$' followed by a number (or numbers) is replaced by the
        !           261: corresponding argument on the macro invocation command line.
        !           262: A '$' followed by an 'i' signals that macro processor that the
        !           263: executing macro is to be looped. On the first pass '$i' is
        !           264: replaced by the first argument on the macro invocation command line,
        !           265: on the second pass it is replaced by the second argument, and so on.
        !           266: A '\\' followed by any character is replaced by that character.
        !           267: Use the '\\' to prevent special treatment of the '$'.
        !           268: .TP
        !           269: \fBmdelete\fP [ \fIremote-files\fP ]
        !           270: Delete the \fIremote-files\fP on the remote machine.
        !           271: .TP
        !           272: \fBmdir\fP \fIremote-files\fP \fIlocal-file\fP
        !           273: Like \fBdir\fP, except multiple remote files may be specified.
        !           274: If interactive prompting is on,
        !           275: .I ftp
        !           276: will prompt the user to verify that the last argument is indeed the
        !           277: target local file for receiving
        !           278: .B mdir
        !           279: output.
        !           280: .TP
        !           281: \fBmget\fP \fIremote-files\fP
        !           282: Expand the \fIremote-files\fP on the remote machine
        !           283: and do a \fBget\fP for each file name thus produced.
        !           284: See \fBglob\fR for details on the filename expansion.
        !           285: Resulting file names will then be processed according to
        !           286: .IR case ,
        !           287: .IR ntrans ,
        !           288: and
        !           289: .I nmap
        !           290: settings.
        !           291: Files are transferred into the local working directory,
        !           292: which can be changed with `\fBlcd\fP\ directory';
        !           293: new local directories can be created with `\fB!\fP\ mkdir\ directory'.
        !           294: .TP
        !           295: \fBmkdir\fP \fIdirectory-name\fP
        !           296: Make a directory on the remote machine.
        !           297: .TP
        !           298: \fBmls\fP \fIremote-files\fP \fIlocal-file\fP
        !           299: Like \fBls\fP, except multiple remote files may be specified.
        !           300: If interactive prompting is on,
        !           301: .I ftp
        !           302: will prompt the user to verify that the last argument is indeed the
        !           303: target local file for receiving
        !           304: .B mls
        !           305: output.
        !           306: .TP
        !           307: \fBmode\fP [ \fImode-name\fP ]
        !           308: Set the file transfer
        !           309: .I mode
        !           310: to
        !           311: .IR mode-name .
        !           312: The default mode is \*(lqstream\*(rq mode.
        !           313: .TP
        !           314: \fBmput\fP \fIlocal-files\fP
        !           315: Expand wild cards in the list of local files given as arguments
        !           316: and do a \fBput\fR for each file in the resulting list.
        !           317: See \fBglob\fP for details of filename expansion.
        !           318: Resulting file names will then be processed according to
        !           319: .I ntrans
        !           320: and
        !           321: .I nmap
        !           322: settings.
        !           323: .TP
        !           324: \fBnmap\fP [ \fIinpattern\fP \fIoutpattern\fP ]
        !           325: Set or unset the filename mapping mechanism.
        !           326: If no arguments are specified, the filename mapping mechanism is unset.
        !           327: If arguments are specified, remote filenames are mapped during
        !           328: .B mput
        !           329: commands and
        !           330: .B put
        !           331: commands issued without a specified remote target filename.
        !           332: If arguments are specified, local filenames are mapped during
        !           333: .B mget
        !           334: commands and
        !           335: .B get
        !           336: commands issued without a specified local target filename.
        !           337: This command is useful when connecting to a non-UNIX remote computer
        !           338: with different file naming conventions or practices.
        !           339: The mapping follows the pattern set by
        !           340: .I inpattern
        !           341: and
        !           342: .IR outpattern .
        !           343: .I Inpattern
        !           344: is a template for incoming filenames (which may have already been
        !           345: processed according to the
        !           346: .B ntrans
        !           347: and
        !           348: .B case
        !           349: settings).
        !           350: Variable templating is accomplished by including the sequences '$1', '$2', ..., '$9' in
        !           351: .IR inpattern .
        !           352: Use '\\' to prevent this special treatment of the '$' character.
        !           353: All other characters are treated literally, and are used to determine the
        !           354: .B nmap
        !           355: .I inpattern
        !           356: variable values.
        !           357: For exmaple, given
        !           358: .I inpattern
        !           359: $1.$2 and the remote file name "mydata.data", $1 would have the value
        !           360: "mydata", and $2 would have the value "data".
        !           361: The
        !           362: .I outpattern
        !           363: determines the resulting mapped filename.
        !           364: The sequences '$1', '$2', ...., '$9' are replaced by any value resulting
        !           365: from the
        !           366: .I inpattern
        !           367: template.
        !           368: The sequence '$0' is replace by the original filename.
        !           369: Additionally, the sequence '[\fIseq1\fP,\fIseq2\f\P]' is replaced by
        !           370: .I seq1
        !           371: if
        !           372: .I seq1
        !           373: is not a null string; otherwise it is replaced by
        !           374: .IR seq2 .
        !           375: For example, the command "nmap $1.$2.$3 [$1,$2].[$2,file]" would yield
        !           376: the output filename "myfile.data" for input filenames "myfile.data" and
        !           377: "myfile.data.old", "myfile.file" for the input filename "myfile", and
        !           378: "myfile.myfile" for the input filename ".myfile".
        !           379: Spaces may be included in
        !           380: .IR outpattern ,
        !           381: as in the example: nmap $1 |sed "s/  *$//" > $1 .
        !           382: Use the '\\' character to prevent special treatment
        !           383: of the '$', '[', ']', and ',' characters.
        !           384: .TP
        !           385: \fBntrans\fP [ \fIinchars\fP [ \fIoutchars\fP ] ]
        !           386: Set or unset the filename character translation mechanism.
        !           387: If no arguments are specified, the filename character
        !           388: translation mechanism is unset.
        !           389: If arguments are specified, characters in
        !           390: remote filenames are translated during
        !           391: .B mput
        !           392: commands and
        !           393: .B put
        !           394: commands issued without a specified remote target filename.
        !           395: If arguments are specified, characters in
        !           396: local filenames are translated during
        !           397: .B mget
        !           398: commands and
        !           399: .B get
        !           400: commands issued without a specified local target filename.
        !           401: This command is useful when connecting to a non-UNIX remote computer
        !           402: with different file naming conventions or practices.
        !           403: Characters in a filename matching a character in
        !           404: .I inchars
        !           405: are replaced with the corresponding character in
        !           406: .IR outchars .
        !           407: If the character's position in
        !           408: .I inchars
        !           409: is longer than the length of
        !           410: .IR outchars ,
        !           411: the character is deleted from the file name.
        !           412: .TP
        !           413: \fBopen\fP \fIhost\fP [ \fIport\fP ]
        !           414: Establish a connection to the specified
        !           415: .I host
        !           416: FTP server.  An optional port number may be supplied,
        !           417: in which case, 
        !           418: .I ftp
        !           419: will attempt to contact an FTP server at that port.
        !           420: If the 
        !           421: .I auto-login
        !           422: option is on (default), 
        !           423: .I ftp
        !           424: will also attempt to automatically log the user in to
        !           425: the FTP server (see below).
        !           426: .TP
        !           427: .B prompt
        !           428: Toggle interactive prompting.  Interactive prompting
        !           429: occurs during multiple file transfers to allow the
        !           430: user to selectively retrieve or store files.
        !           431: If prompting is turned off (default is on), any \fBmget\fP or \fBmput\fP
        !           432: will transfer all files, and any \fBmdelete\fP will delete all files.
        !           433: .TP
        !           434: \fBproxy\fP \fIftp-command\fP
        !           435: Execute an ftp command on a secondary control connection.
        !           436: This command allows simultaneous connection to two remote ftp
        !           437: servers for transferring files between the two servers.
        !           438: The first
        !           439: .B proxy
        !           440: command should be an
        !           441: .BR open ,
        !           442: to establish the secondary control connection.
        !           443: Enter the command "proxy ?" to see other ftp commands executable on the
        !           444: secondary connection.
        !           445: The following commands behave differently when prefaced by
        !           446: .BR proxy :
        !           447: .B open
        !           448: will not define new macros during the auto-login process,
        !           449: .B close
        !           450: will not erase existing macro definitions,
        !           451: .B get
        !           452: and
        !           453: .B mget
        !           454: transfer files from the host on the primary control connection
        !           455: to the host on the secondary control connection, and
        !           456: .BR put ,
        !           457: .BR mput ,
        !           458: and
        !           459: .B append
        !           460: transfer files from the host on the secondary control connection
        !           461: to the host on the primary control connection.
        !           462: Third party file transfers depend upon support of the ftp protocol
        !           463: PASV command by the server on the secondary control connection.
        !           464: .TP
        !           465: \fBput\fP \fIlocal-file\fP [ \fIremote-file\fP ]
        !           466: Store a local file on the remote machine.  If 
        !           467: .I remote-file
        !           468: is left unspecified, the local file name is used
        !           469: after processing according to any
        !           470: .I ntrans
        !           471: or
        !           472: .I nmap
        !           473: settings
        !           474: in naming the remote file.  File transfer uses the
        !           475: current settings for
        !           476: .IR type ,
        !           477: .IR format ,
        !           478: .IR mode ,
        !           479: and
        !           480: .IR structure .
        !           481: .TP
        !           482: .B pwd
        !           483: Print the name of the current working directory on the remote
        !           484: machine.
        !           485: .TP
        !           486: .B quit
        !           487: A synonym for
        !           488: .BR bye .
        !           489: .TP
        !           490: .BI quote " arg1 arg2 ..."
        !           491: The arguments specified are sent, verbatim, to the remote FTP
        !           492: server.
        !           493: .TP
        !           494: \fBrecv\fP \fIremote-file\fP [ \fIlocal-file\fP ]
        !           495: A synonym for get.
        !           496: .TP
        !           497: \fBremotehelp\fP [ \fIcommand-name\fP ]
        !           498: Request help from the remote FTP server.  If a 
        !           499: .I command-name
        !           500: is specified it is supplied to the server as well.
        !           501: .TP
        !           502: \fBrename\fP [ \fIfrom\fP ] [ \fIto\fP ]
        !           503: Rename the file
        !           504: .I from
        !           505: on the remote machine, to the file
        !           506: .IR to .
        !           507: .TP
        !           508: .B reset
        !           509: Clear reply queue.
        !           510: This command re-synchronizes command/reply sequencing with the remote
        !           511: ftp server.
        !           512: Resynchronization may be neccesary following a violation of the ftp protocol
        !           513: by the remote server.
        !           514: .TP
        !           515: .BI rmdir " directory-name"
        !           516: Delete a directory on the remote machine.
        !           517: .TP
        !           518: .B runique
        !           519: Toggle storing of files on the local system with unique filenames.
        !           520: If a file already exists with a name equal to the target
        !           521: local filename for a
        !           522: .B get
        !           523: or
        !           524: .B mget
        !           525: command, a ".1" is appended to the name.
        !           526: If the resulting name matches another existing file,
        !           527: a ".2" is appended to the original name.
        !           528: If this process continues up to ".99", an error
        !           529: message is printed, and the transfer does not take place.
        !           530: The generated unique filename will be reported.
        !           531: Note that
        !           532: .B runique
        !           533: will not affect local files generated from a shell command
        !           534: (see below).
        !           535: The default value is off.
        !           536: .TP
        !           537: \fBsend\fP \fIlocal-file\fP [ \fIremote-file\fP ]
        !           538: A synonym for put.
        !           539: .TP
        !           540: .B sendport
        !           541: Toggle the use of PORT commands.  By default, 
        !           542: .I ftp
        !           543: will attempt to use a PORT command when establishing
        !           544: a connection for each data transfer.
        !           545: The use of PORT commands can prevent delays
        !           546: when performing multiple file transfers. If the PORT
        !           547: command fails, 
        !           548: .I ftp
        !           549: will use the default data port.  When the use of PORT
        !           550: commands is disabled, no attempt will be made to use
        !           551: PORT commands for each data transfer.  This is useful
        !           552: for certain FTP implementations which do ignore PORT
        !           553: commands but, incorrectly, indicate they've been accepted.
        !           554: .TP
        !           555: .B status
        !           556: Show the current status of
        !           557: .IR ftp .
        !           558: .TP
        !           559: \fBstruct\fP [ \fIstruct-name\fP ]
        !           560: Set the file transfer
        !           561: .I structure
        !           562: to
        !           563: .IR struct-name .
        !           564: By default \*(lqstream\*(rq structure is used.
        !           565: .TP
        !           566: .B sunique
        !           567: Toggle storing of files on remote machine under unique file names.
        !           568: Remote ftp server must support ftp protocol STOU command for
        !           569: successful completion.
        !           570: The remote server will report unique name.
        !           571: Default value is off.
        !           572: .TP
        !           573: .B tenex
        !           574: Set the file transfer type to that needed to
        !           575: talk to TENEX machines.
        !           576: .TP
        !           577: .B trace
        !           578: Toggle packet tracing.
        !           579: .TP
        !           580: \fBtype\fP [ \fItype-name\fP ]
        !           581: Set the file transfer
        !           582: .I type
        !           583: to
        !           584: .IR type-name .
        !           585: If no type is specified, the current type
        !           586: is printed.  The default type is network ASCII.
        !           587: .TP
        !           588: \fBuser\fP \fIuser-name\fP [ \fIpassword\fP ] [ \fIaccount\fP ]
        !           589: Identify yourself to the remote FTP server.  If the
        !           590: password is not specified and the server requires it,
        !           591: .I ftp
        !           592: will prompt the user for it (after disabling local echo).
        !           593: If an account field is not specified, and the FTP server
        !           594: requires it, the user will be prompted for it.
        !           595: If an account field is specified, an account command will
        !           596: be relayed to the remote server after the login sequence
        !           597: is completed if the remote server did not require it
        !           598: for logging in.
        !           599: Unless
        !           600: .I ftp
        !           601: is invoked with \*(lqauto-login\*(rq disabled, this
        !           602: process is done automatically on initial connection to
        !           603: the FTP server.
        !           604: .TP
        !           605: .B verbose
        !           606: Toggle verbose mode.  In verbose mode, all responses from
        !           607: the FTP server are displayed to the user.  In addition,
        !           608: if verbose is on, when a file transfer completes, statistics
        !           609: regarding the efficiency of the transfer are reported.  By default,
        !           610: verbose is on.
        !           611: .TP
        !           612: \fB?\fP [ \fIcommand\fP ]
        !           613: A synonym for help.
        !           614: .PP
        !           615: Command arguments which have embedded spaces may be quoted with
        !           616: quote (") marks.
        !           617: .SH "ABORTING A FILE TRANSFER"
        !           618: To abort a file transfer, use the terminal interrupt key
        !           619: (usually Ctrl-C).
        !           620: Sending transfers will be immediately halted.
        !           621: Receiving transfers will be halted by sending a ftp protocol ABOR
        !           622: command to the remote server, and discarding any further data received.
        !           623: The speed at which this is accomplished depends upon the remote
        !           624: server's support for ABOR processing.
        !           625: If the remote server does not support the ABOR command, an "ftp>"
        !           626: prompt will not appear until the remote server has completed
        !           627: sending the requested file.
        !           628: .PP
        !           629: The terminal interrupt key sequence will be ignored when
        !           630: .I ftp
        !           631: has completed any local processing and is awaiting a reply
        !           632: from the remote server.
        !           633: A long delay in this mode may result from the ABOR processing described
        !           634: above, or from unexpected behavior by the remote server, including
        !           635: violations of the ftp protocol.
        !           636: If the delay results from unexpected remote server behavior, the local
        !           637: .I ftp
        !           638: program must be killed by hand.
        !           639: .SH "FILE NAMING CONVENTIONS"
        !           640: Files specified as arguments to
        !           641: .I ftp
        !           642: commands are processed according to the following rules.
        !           643: .TP
        !           644: 1)
        !           645: If the file name \*(lq\-\*(rq is specified, the
        !           646: .B stdin
        !           647: (for reading) or
        !           648: .B stdout
        !           649: (for writing) is used.
        !           650: .TP
        !           651: 2)
        !           652: If the first character of the file name is \*(lq|\*(rq, the
        !           653: remainder of the argument is interpreted as a shell command.
        !           654: .I Ftp
        !           655: then forks a shell, using 
        !           656: .IR popen (3)
        !           657: with the argument supplied, and reads (writes) from the stdout
        !           658: (stdin).  If the shell command includes spaces, the argument
        !           659: must be quoted; e.g. \*(lq"| ls -lt"\*(rq.  A particularly
        !           660: useful example of this mechanism is: \*(lqdir |more\*(rq.
        !           661: .TP
        !           662: 3)
        !           663: Failing the above checks, if ``globbing'' is enabled, 
        !           664: local file names are expanded
        !           665: according to the rules used in the 
        !           666: .IR csh (1);
        !           667: c.f. the 
        !           668: .I glob
        !           669: command. 
        !           670: If the
        !           671: .I ftp
        !           672: command expects a single local file ( .e.g.
        !           673: .BR put ),
        !           674: only the first filename generated by the "globbing" operation is used.
        !           675: .TP
        !           676: 4)
        !           677: For
        !           678: .B mget
        !           679: commands and
        !           680: .B get
        !           681: commands with unspecified local file names, the local filename is
        !           682: the remote filename, which may be altered by a
        !           683: .BR case ,
        !           684: .BR ntrans ,
        !           685: or
        !           686: .B nmap
        !           687: setting.
        !           688: The resulting filename may then be altered if
        !           689: .B runique
        !           690: is on.
        !           691: .TP
        !           692: 5)
        !           693: For
        !           694: .B mput
        !           695: commands and
        !           696: .B put
        !           697: commands with unspecified remote file names, the remote filename is
        !           698: the local filename, which may be altered by a
        !           699: .B ntrans
        !           700: or
        !           701: .B nmap
        !           702: setting.
        !           703: The resulting filename may then be altered by the remote server if
        !           704: .B sunique
        !           705: is on.
        !           706: .SH "FILE TRANSFER PARAMETERS"
        !           707: The FTP specification specifies many parameters which may
        !           708: affect a file transfer.  The 
        !           709: .I type
        !           710: may be one of \*(lqascii\*(rq, \*(lqimage\*(rq (binary),
        !           711: \*(lqebcdic\*(rq, and \*(lqlocal byte size\*(rq (for PDP-10's
        !           712: and PDP-20's mostly).
        !           713: .I Ftp
        !           714: supports the ascii and image types of file transfer,
        !           715: plus local byte size 8 for \fBtenex\fP mode transfers.
        !           716: .PP
        !           717: .I Ftp
        !           718: supports only the default values for the remaining
        !           719: file transfer parameters: 
        !           720: .IR mode ,
        !           721: .IR form ,
        !           722: and
        !           723: .IR struct .
        !           724: .SH OPTIONS
        !           725: Options may be specified at the command line, or to the 
        !           726: command interpreter.
        !           727: .PP
        !           728: The
        !           729: .B \-v
        !           730: (verbose on) option forces
        !           731: .I ftp
        !           732: to show all responses from the remote server, as well
        !           733: as report on data transfer statistics.
        !           734: .PP
        !           735: The
        !           736: .B \-n
        !           737: option restrains 
        !           738: .I ftp
        !           739: from attempting \*(lqauto-login\*(rq upon initial connection.
        !           740: If auto-login is enabled, 
        !           741: .I ftp
        !           742: will check the
        !           743: .I .netrc
        !           744: (see below) file in the user's home directory for an entry describing
        !           745: an account on the remote machine.  If no entry exists,
        !           746: .I ftp
        !           747: will prompt for the remote machine login name (default is the user
        !           748: identity on the local machine), and, if necessary, prompt for a password
        !           749: and an account with which to login.
        !           750: .PP
        !           751: The
        !           752: .B \-i
        !           753: option turns off interactive prompting during
        !           754: multiple file transfers.
        !           755: .PP
        !           756: The
        !           757: .B \-d
        !           758: option enables debugging.
        !           759: .PP
        !           760: The
        !           761: .B \-g
        !           762: option disables file name globbing.
        !           763: .SH "THE .netrc FILE"
        !           764: The .netrc file contains login and initialization information
        !           765: used by the auto-login process.
        !           766: It resides in the user's home directory.
        !           767: The following tokens are recognized; they may be separated by spaces,
        !           768: tabs, or new-lines:
        !           769: .TP
        !           770: \fBmachine\fP \fIname\fP
        !           771: Identify a remote machine name.
        !           772: The auto-login process searches the .netrc file for a
        !           773: .B machine
        !           774: token that matches the remote machine specified on the
        !           775: .I ftp
        !           776: command line or as an
        !           777: .B open
        !           778: command argument.
        !           779: Once a match is made, the subsequent .netrc tokens are processed,
        !           780: stopping when the end of file is reached or another
        !           781: .B machine
        !           782: token is encountered.
        !           783: .TP
        !           784: \fBlogin\fP \fIname\fP
        !           785: Identify a user on the remote machine.
        !           786: If this token is present, the auto-login process will initiate
        !           787: a login using the specified name.
        !           788: .TP
        !           789: \fBpassword\fP \fIstring\fP
        !           790: Supply a password.
        !           791: If this token is present, the auto-login process will supply the
        !           792: specified string if the remote server requires a password as part
        !           793: of the login process.
        !           794: Note that if this token is present in the .netrc file,
        !           795: .I ftp
        !           796: will abort the auto-login process if the .netrc is readable by
        !           797: anyone besides the user.
        !           798: .TP
        !           799: \fBaccount\fP \fIstring\fP
        !           800: Supply an additional account password.
        !           801: If this token is present, the auto-login process will supply the
        !           802: specified string if the remote server requires an additional
        !           803: account password, or the auto-login process will initiate an
        !           804: ACCT command if it does not.
        !           805: .TP
        !           806: \fBmacdef\fP \fIname\fP
        !           807: Define a macro.
        !           808: This token functions like the
        !           809: .I ftp
        !           810: .B macdef
        !           811: command functions.
        !           812: A macro is defined with the specified name; its contents begin with the
        !           813: next .netrc line and continue until a null line (consecutive new-line
        !           814: characters) is encountered.
        !           815: If a macro named
        !           816: .I init
        !           817: is defined, it is automatically executed as the last step in the
        !           818: auto-login process.
        !           819: .SH "SEE ALSO"
        !           820: ftpd(8)
        !           821: .SH BUGS
        !           822: Correct execution of many commands depends upon proper behavior
        !           823: by the remote server.
        !           824: .PP
        !           825: An error in the treatment of carriage returns
        !           826: in the 4.2BSD UNIX ascii-mode transfer code
        !           827: has been corrected.
        !           828: This correction may result in incorrect transfers of binary files
        !           829: to and from 4.2BSD servers using the ascii type.
        !           830: Avoid this problem by using the binary image type.

unix.superglobalmegacorp.com

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