BBN-Vax-TCP/doc/ftp.1.P
FTP(1) UNIX Programmer's Manual FTP(1)
____
NAME
ftp - file transfer program
________
SYNOPSIS
___
ftp [ host ]
___________
DESCRIPTION
___
Ftp is an implementation of the ARPANET File Transfer
Protocol for UNIX systems. It is capable of transferring
ASCII and core-image files between a UNIX host and other
network hosts, of providing local users with current
information about remote file systems, and of providing a
mail facility.
___
When executed, ftp attempts to establish communications with
____ ____
host. If the argument is not present, or if host is does
___ ____
not respond, ftp will ask for another. Host may be any host
_______
identification recognizable to gethost(3), which accepts
numerous formats.
If the request succeeds, the remote computer will respond
with a message like "300 CMU-10a FTP Server". All messages
sent by the remote host begin with a 3-digit number, and
generally indicate successful completion, or failure, of a
___
request. The local ftp will then prompt with a '>'
character, indicating that it is ready to accept commands.
___
Ftp commands consist of a command name followed by
arguments. The command name need not be fully typed - only
enough characters to resolve any ambiguities are necessary.
Generally the first three characters are sufficient. For
those commands requiring arguments, the arguments may follow
the command name (as in the syntax below), or if none are
___
specified, ftp will ask for the particular arguments it
needs. Unusual arguments (e.g., pathnames with embedded
spaces) may be quoted with single or double quotes. A
command summary follows.
______ _______ ________
Access Control Commands. These include the operations of
identifying the user to the remote host, verifying the
password, and recording accounting information.
___
log username [ password account ]
This command identifies the user to the remote host,
by supplying the first parameter. If either a
password or account number is requested by the remote
host, the second or third parameter,
respectively, is supplied to the host. If the
parameter was not typed, the user is prompted for it.
____ _______
As with the Pass and Account commands, below, the
argument is not echoed when it is read after
Printed 8/3/81 1
FTP(1) UNIX Programmer's Manual FTP(1)
prompting. (To type the account number on the same
line with the username and still be able to enter
the password with echo supressed, enter a null
string, i.e. two single or double quotes as
the second parameter of the log command.)
Unneeded parameters are ignored. This command
____ ____ _______
supercedes the User, Pass, and Account commands for
most purposes.
____
user username
Generally this is the first command after the
________
connection is established. Username is the login
identifier for the remote computer.
________
password
____
If the response to user was "Enter Password", this
___
command should be given. Ftp will then ask for the
password. Local echoing will be suppressed for
security.
_______ ____
account (or acct)
____ ________
If the response to user or password was "Enter
___
Account", this command should be given. Ftp will
then ask for an account number. Local echoing will
be suppressed for security.
____ ________ ______________
Data Transfer Specifications. These describe the format of
the data. Since all data transfer parameters have default
values, these commands are only needed when special types of
data are to be transferred. Specified parameters remain in
force until reset. To find out what current parameter
______
values are, the status command (described under service
___
commands) may be used. Ftp only permits an 8-bit transfer
byte size, which is the network default.
____ _____ _____ _____
type {ascii, image, local}
_____ _____
Specifies the data type. ascii is default. Image
means a core-image file. Generally it is not very
useful to transfer an image file to/from a machine
_____
that is not a PDP-11. Local means that each host
should use its own idea of the appropriate format.
____ ______ ____
mode {stream, text}
______
Specifies the transfer mode to be used. Stream is
____ _____
default. Text may be used for ascii files only. It
______
is better with record - structured files than stream,
which cannot embed <EOR> and <EOF> control codes in
the data stream.
_________ ____ ______
structure {file, record}
_________
Sets the structure of the file to be transferred.
Printed 8/3/81 2
FTP(1) UNIX Programmer's Manual FTP(1)
____
Ordinary UNIX files have file structure. Some remote
_______
systems may partition files into records. When
______
record is set, the following mapping occurs: on input
each <EOR> becomes a newline and on output each
newline becomes an <EOR>.
_______ ________
Service Commands. These cause the files to be transferred,
and also request the remote host to perform various actions.
________
retrieve remotefile localfile
___
get remotefile localfile
___ __________
The remote ftp will transfer the file remotefile to
___
the local ftp process, which will store it as
_________
localfile.
______
cmdget remotefile command
___ __________
The remote ftp will transfer the file remotefile to
___
the local ftp process, which will pipe it into
command, which may be any valid shell statement
capable of acting as a filter.
_________
mretrieve remfgd [-flags]
____
mget remfgd [-flags]
______ ______ ____ _____ __________
Remfgd is a remote file group descriptor, that is, a
string that the operating system of the remote host
will recognize as a string specifying a group of
_____
files. Flags specifies the transformations to
perform on the file names to create local file names.
_
The flags may be used in combination (except and T
cannot be used together). The flag argument begins
with a hyphen. If the argument is omitted, the local
file name is the same as the remote file name. This
command uses the NLST protocol to obtain the list of
names of files on the remote host. Currently defined
flags are:
T Tenex/Tops20-mode: strips the <. . .> directory and the
protection information from the filename, removes
control-Vs, replaces Tenex's semi-colons before the
version number with periods, and converts to lower
case.
I ITS mode: strips the "DSK: DIR;" from the beginning of
the filename, converts letters in the filename to lower
case, and replaces spaces with under-scores.
Printed 8/3/81 3
FTP(1) UNIX Programmer's Manual FTP(1)
l convert uppercase to lowercase.
a alphanumerics only (NOTE: periods are regarded as
numeric)
p/pre/
prefixes the string "pre" onto each filename ('\' will
escape '/')
? rather than try to transform the remote filename into a
acceptable UNIX filename, the program will ask the user
what name to use.
_____
store localfile remotefile
____
send localfile remotefile
_________
The UNIX file localfile is stored at the remote host
__________
under the name remotefile.
_______
cmdsend command remotefile
The output of command is stored at the remote host
__________
under the name remotefile. Command may be any valid
shell statement.
*Bmstore localfgd
_____
msend localfgd
________
localfgd is a string definging a group of files; the
syntax is the same as that used by the shell (see
__
sh(1)) to define files. They are stored on the remote
host with the same name as they have on the local
host.
NOTE: The following three commands (mstore/msend, mkdir,
rmdir) use experimental protocols which are currently
available only at BBN UNIX sites.
______
mstore localroot remroot
_____
msend localroot remroot
_________
The directory tree rooted at localroot is recursively
examined, and the files in these directories are
stored on the remote host in a tree rooted at
_______
remroot. All necessary directories are created.
_____
mkdir directory
_________
directory is created on the remote host.
Printed 8/3/81 4
FTP(1) UNIX Programmer's Manual FTP(1)
_____
rmdir directory
_________
directory is removed from the remote host.
______
append localfile remotefile
__________ _________
If remotefile exists, the data from localfile will be
appended to it instead of overwriting it. If
__________
remotefile does not exist, it will be created.
______
rename from to
____
The remote file from will subsequently be known as
__
the remote file to.
______
delete remotefile
__________
Remotefile is deleted from the remote system.
______
status [ pathname ]
________ ___
If pathname is not given, the remote ftp will respond with
its current status (e.g., current parameter settings). If
________
pathname is a file, the response is information about the
________
file; and if pathname is a directory, the response is
information about all files in the directory.
____
list pathname localfile
____ ________
List requires pathname to be a file or directory on
the remote system. The response is the same as to
______
the status request, except that it is stored in
_________
localfile and is not displayed on the user's
terminal.
____
nlst pathname localfile
____
This command is like the list command, except that
____
nlst is guaranteed on return only a list of names,
____
whereas list may return some status information when
pathname specifies a single file. With some hosts,
_____
notably those using Tenex, this can produce more
____
information than list because qualifying information
about the files is returned imbedded in the file name
strings.
___
cwd pathname
This command, if implemented by the remote server,
will change the working directory to that indicated
________
by pathname. The interpretation of subsequent
_________
pathnames used in other commands will be affected
according to the remote system's concept of working
directory. Some systems have no such concept, in
which case a negative reply (usually 500 - no such
command -) will be returned, and further commands
___
will be interpreted exactly as if the cwd command had
not been issued.
Printed 8/3/81 5
FTP(1) UNIX Programmer's Manual FTP(1)
____
mail [ user ]
____
User must be a system identification or the standard
NIC network identification of a user at the remote
____
computer. If user is not given, the mail will be
___
sent to a standard system mailbox. If the remote ftp
accepts the request, it will ask for the letter. The
end of the letter is a line with a single period on
it.
____
mlfl localfile [ user ]
_________
This command will mail the UNIX file localfile to
____ ____
user at the remote system. User must be a valid
____
identification as described in mail. Note that
_________
localfile must be ASCII and that the data transfer
____ ____
parameters mode and type are reset to their default
values.
_____
quote command [ argument ]
This command allows an arbitrary command to be sent
___ _______
to the remote ftp server program. Command and
____
rgument may be a single words such as NOOP, or an
arbritrary strings enclosed in quotes. Command will
be truncated to four characters. Argument, if
present, will be appended to the truncated command
separated by one space, and the resulting command
_____
line sent. The quote command might be used to send
___
an experimental command to the remote ftp server.
(Experimental commands may be implemented by any
server and always start with "X".) Sending NOOP is a
way of checking if the remote server is functioning
without other side effects. (A healthy server will
___
return a 200 reply promptly.) Ftp will wait for any
final reply before returning to prompt level. It may
be brought back to prompt level arbitrarily by typing
INTERRUPT, however.
___ ____
bye quit
Connections are closed and the user is returned to
the UNIX shell.
_____________
Miscellaneous.
! Creates a temporary subshell. This is useful
for verifying the results of file transfers.
___
Note that ftp connections to the remote host
remain open, tying up valuable system resources
at both ends. Therefore a user should not
remain in a subshell for any longer than
necessary.
Printed 8/3/81 6
FTP(1) UNIX Programmer's Manual FTP(1)
____
help describes available commands.
__ _____
cd acts just like the UNIX chdir command.
_________ ___
<INTERRUPT> Interrupting ftp with an INTERRUPT (DEL)
character causes a network interrupt to be sent
___
to the remote ftp, followed by a request to
abort any ongoing data transfer. The remote
computer should reply indicating whether any
transfer was aborted. The user may resume
___
normal use of ftp afterwards.
____
<QUIT> Panic - the QUIT (FS) character should only be
used when the connections appear to be
hopelessly confused (for example, if the remote
___
host crashes) or ftp appears to be hanging
without cause. All local connections are
broken and the user is returned to the UNIX
shell.
_____
FILES
___
/etc/net/ftpmain User-ftp process.
/etc/net/ftptty Foreign-response processor.
/etc/net/aliases User names for mail identification.
___ ____
SEE ALSO
con(1), telnet(1), libn(3), gethost(2).
Printed 8/3/81 7