manual page first distributed with 4.2BSD
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 30 Apr 1985 12:08:09 +0000 (04:08 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 30 Apr 1985 12:08:09 +0000 (04:08 -0800)
SCCS-vsn: usr.bin/ftp/ftp.1 5.1

usr/src/usr.bin/ftp/ftp.1 [new file with mode: 0644]

diff --git a/usr/src/usr.bin/ftp/ftp.1 b/usr/src/usr.bin/ftp/ftp.1
new file mode 100644 (file)
index 0000000..a90c442
--- /dev/null
@@ -0,0 +1,429 @@
+.\" Copyright (c) 1983 Regents of the University of California.
+.\" All rights reserved.  The Berkeley software License Agreement
+.\" specifies the terms and conditions for redistribution.
+.\"
+.\"    @(#)ftp.1       5.1 (Berkeley) %G%
+.\"
+.TH FTP 1C "18 July 1983"
+.UC 5
+.SH NAME
+ftp \- file transfer program
+.SH SYNOPSIS
+.B ftp
+[ 
+.B \-v
+] [
+.B \-d
+] [
+.B \-i
+] [
+.B \-n
+] [
+.B \-g
+] [
+.B host
+]
+.SH DESCRIPTION
+.I Ftp
+is the user interface to the ARPANET standard File Transfer Protocol.
+The program allows a user to transfer files to and from a
+remote network site.
+.PP
+The client host with which 
+.I ftp
+is to communicate may be specified on the command line.
+If this is done,
+.I ftp
+will immediately attempt to establish a connection to an FTP
+server on that host; otherwise, 
+.I ftp
+will enter its command interpreter and await instructions
+from the user.  When 
+.I ftp
+is awaiting commands from the user the prompt \*(lqftp>\*(rq
+is provided the user.  The following commands are recognized
+by
+.IR ftp :
+.TP
+.B \&!
+Invoke a shell on the local machine.
+.TP
+\fBappend\fP \fIlocal-file\fP [ \fIremote-file\fP ]
+Append a local file to a file on the remote machine.  If
+.I remote-file
+is left unspecified, the local file name is used in naming the
+remote file.  File transfer uses the current settings for
+.IR type ,
+.IR format ,
+.IR mode ,
+and
+.IR structure .
+.TP
+.B ascii
+Set the file transfer 
+.I type
+to network ASCII.  This is the default type.
+.TP
+.B bell
+Arrange that a bell be sounded after each file transfer
+command is completed.
+.TP
+.B binary
+Set the file transfer
+.I type
+to support binary image transfer.
+.TP
+.B bye
+Terminate the FTP session with the remote server
+and exit
+.IR ftp .
+.TP
+.BI cd " remote-directory"
+Change the working directory on the remote machine
+to 
+.IR remote-directory .
+.TP
+.B close
+Terminate the FTP session with the remote server, and
+return to the command interpreter.
+.TP
+.BI delete " remote-file"
+Delete the file
+.I remote-file
+on the remote machine.
+.TP
+\fBdebug\fP [ \fIdebug-value\fP ]
+Toggle debugging mode.  If an optional
+.I debug-value
+is specified it is used to set the debugging level.
+When debugging is on,
+.I ftp
+prints each command sent to the remote machine, preceded
+by the string \*(lq-->\*(rq.
+.TP
+\fBdir\fP [ \fIremote-directory\fP ] [ \fIlocal-file\fP ]
+Print a listing of the directory contents in the
+directory,
+.IR remote-directory ,
+and, optionally, placing the output in
+.IR local-file .
+If no directory is specified, the current working
+directory on the remote machine is used.  If no local
+file is specified, output comes to the terminal.
+.TP
+.BI form " format"
+Set the file transfer 
+.I form
+to 
+.IR format .
+The default format is \*(lqfile\*(rq.
+.TP
+\fBget\fP \fIremote-file\fP [ \fIlocal-file\fP ]
+Retrieve the 
+.I 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.
+The current settings for 
+.IR type ,
+.IR form ,
+.IR mode ,
+and
+.I structure
+are used while transferring the file.
+.TP
+\fBhash\f
+Toggle hash-sign (``#'') printing for each data block
+transferred.  The size of a data block is 1024 bytes.
+.TP
+.B glob
+Toggle file name globbing.  With file name globbing enabled,
+each local file or pathname is processed for 
+.IR csh (1)
+metacharacters.  These characters include ``*?[]~{}''.
+Remote files specified in mutliple item commands, e.g.
+.IR mput ,
+are globbed by the remote server.  With globbing disabled
+all files and pathnames are treated literally.
+.TP
+\fBhelp\fP [ \fIcommand\fP ]
+Print an informative message about the meaning of
+.IR command .
+If no argument is given, 
+.I ftp
+prints a list of the known commands.
+.TP
+\fBlcd\fP [ \fIdirectory\fP ]
+Change the working directory on the local machine.  If
+no 
+.I directory
+is specified, the user's home directory is used.
+.TP
+\fBls\fP [ \fIremote-directory\fP ] [ \fIlocal-file\fP ]
+Print an abbreviated listing of the contents of a
+directory on the remote machine.  If
+.I remote-directory
+is left unspecified, the current working directory
+is used.  If no local file is specified, the output
+is sent to the terminal.
+.TP
+\fBmdelete\fP \fIremote-files\fP
+Delete the specified files on the remote machine.  If globbing
+is enabled, the specification of remote files will first be
+expanded using
+.IR ls .
+.TP
+\fBmdir\fP \fIremote-files\fP \fIlocal-file\fP
+Obtain a directory listing of multiple files on the remote
+machine and place the result in
+.IR local-file .
+.TP
+\fBmget\fP \fIremote-files\fP
+Retrieve the specified files from the remote machine and
+place them in the current local directory.  If globbing
+is enabled, the specification of remote files will first be
+expanding using
+.IR ls .
+.TP
+\fBmkdir\fP \fIdirectory-name\fP
+Make a directory on the remote machine.
+.TP
+\fBmls\fP \fIremote-files\fP \fIlocal-file\fP
+Obtain an abbreviated listing of multiple files on the remote
+machine and place the result in
+.IR local-file .
+.TP
+\fBmode\fP [ \fImode-name\fP ]
+Set the file transfer
+.I mode
+to
+.IR mode-name .
+The default mode is \*(lqstream\*(rq mode.
+.TP
+\fBmput\fP \fIlocal-files\fP
+Transfer multiple local files from the current local directory
+to the current working directory on the remote machine.
+.TP
+\fBopen\fP \fIhost\fP [ \fIport\fP ]
+Establish a connection to the specified
+.I host
+FTP server.  An optional port number may be supplied,
+in which case, 
+.I ftp
+will attempt to contact an FTP server at that port.
+If the 
+.I auto-login
+option is on (default), 
+.I ftp
+will also attempt to automatically log the user in to
+the FTP server (see below).
+.TP
+.B 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), any
+.I mget
+or
+.I mput
+will transfer all files.
+.TP
+\fBput\fP \fIlocal-file\fP [ \fIremote-file\fP ]
+Store a local file on the remote machine.  If 
+.I remote-file
+is left unspecified, the local file name is used
+in naming the remote file.  File transfer uses the
+current settings for
+.IR type ,
+.IR format ,
+.IR mode ,
+and
+.IR structure .
+.TP
+.B pwd
+Print the name of the current working directory on the remote
+machine.
+.TP
+.B quit
+A synonym for bye.
+.TP
+.BI quote " arg1 arg2 ..."
+The arguments specified are sent, verbatim, to the remote FTP
+server.  A single FTP reply code is expected in return.
+.TP
+\fBrecv\fP \fIremote-file\fP [ \fIlocal-file\fP ]
+A synonym for get.
+.TP
+\fBremotehelp\fP [ \fIcommand-name\fP ]
+Request help from the remote FTP server.  If a 
+.I command-name
+is specified it is supplied to the server as well.
+.TP
+\fBrename\fP [ \fIfrom\fP ] [ \fIto\fP ]
+Rename the file
+.I from
+on the remote machine, to the file
+.IR to .
+.TP
+.BI rmdir " directory-name"
+Delete a directory on the remote machine.
+.TP
+\fBsend\fP \fIlocal-file\fP [ \fIremote-file\fP ]
+A synonym for put.
+.TP
+.B sendport
+Toggle the use of PORT commands.  By default, 
+.I ftp
+will attempt to use a PORT command when establishing
+a connection for each data transfer.  If the PORT
+command fails, 
+.I ftp
+will use the default data port.  When the use of PORT
+commands is disabled, no attempt will be made to use
+PORT commands for each data transfer.  This is useful
+for certain FTP implementations which do ignore PORT
+commands but, incorrectly, indicate they've been accepted.
+.TP
+.B status
+Show the current status of
+.IR ftp .
+.TP
+\fBstruct\fP [ \fIstruct-name\fP ]
+Set the file transfer
+.I structure
+to
+.IR struct-name .
+By default \*(lqstream\*(rq structure is used.
+.TP
+.B tenex
+Set the file transfer type to that needed to
+talk to TENEX machines.
+.TP
+.B trace
+Toggle packet tracing.
+.TP
+\fBtype\fP [ \fItype-name\fP ]
+Set the file transfer
+.I type
+to
+.IR type-name .
+If no type is specified, the current type
+is printed.  The default type is network ASCII.
+.TP
+\fBuser\fP \fIuser-name\fP [ \fIpassword\fP ] [ \fIaccount\fP ]
+Identify yourself to the remote FTP server.  If the
+password is not specified and the server requires it,
+.I ftp
+will prompt the user for it (after disabling local echo).
+If an account field is not specified, and the FTP server
+requires it, the user will be prompted for it.  Unless
+.I ftp
+is invoked with \*(lqauto-login\*(rq disabled, this
+process is done automatically on initial connection to
+the FTP server.
+.TP
+.B verbose
+Toggle verbose mode.  In verbose mode, all responses from
+the 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.
+.TP
+\fB?\fP [ \fIcommand\fP ]
+A synonym for help.
+.PP
+Command arguments which have embedded spaces may be quoted with
+quote (") marks.
+.SH "FILE NAMING CONVENTIONS"
+Files specified as arguments to
+.I ftp
+commands are processed according to the following rules.
+.TP
+1)
+If the file name \*(lq\-\*(rq is specified, the
+.B stdin
+(for reading) or
+.B stdout
+(for writing) is used.
+.TP
+2)
+If the first character of the file name is \*(lq|\*(rq, the
+remainder of the argument is interpreted as a shell command.
+.I Ftp
+then forks a shell, using 
+.IR 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. \*(lq"| ls -lt"\*(rq.  A particularly
+useful example of this mechanism is: \*(lqdir |more\*(rq.
+.TP
+3)
+Failing the above checks, if ``globbing'' is enabled, 
+local file names are expanded
+according to the rules used in the 
+.IR csh (1);
+c.f. the 
+.I glob
+command. 
+.SH "FILE TRANSFER PARAMETERS"
+The FTP specification specifies many parameters which may
+affect a file transfer.  The 
+.I type
+may be one of \*(lqascii\*(rq, \*(lqimage\*(rq (binary),
+\*(lqebcdic\*(rq, and \*(lqlocal byte size\*(rq (for PDP-10's
+and PDP-20's mostly).
+.I Ftp
+supports the ascii and image types of file transfer.
+.PP
+.I Ftp
+supports only the default values for the remaining
+file transfer parameters: 
+.IR mode ,
+.IR form ,
+and
+.IR struct .
+.SH OPTIONS
+Options may be specified at the command line, or to the 
+command interpreter.
+.PP
+The
+.B \-v
+(verbose on) option forces
+.I ftp
+to show all responses from the remote server, as well
+as report on data transfer statistics.
+.PP
+The
+.B \-n
+option restrains 
+.I ftp
+from attempting \*(lqauto-login\*(rq upon initial connection.
+If auto-login is enabled, 
+.I ftp
+will check the
+.I .netrc
+file in the user's home directory for an entry describing
+an account on the remote machine.  If no entry exists,
+.I ftp
+will use the login name on the local machine as the user
+identity on the remote machine, and prompt for a password
+and, optionally, an account with which to login.
+.PP
+The
+.B \-i
+option turns off interactive prompting during
+mutliple file transfers.
+.PP
+The
+.B \-d
+option enables debugging.
+.PP
+The
+.B \-g
+option disables file name globbing.
+.SH BUGS
+Many FTP server implementation do not support the experimental
+operations such as print working directory.  Aborting a file
+transfer does not work right; if one attempts this the local
+.I ftp
+will likely have to be killed by hand.