


      FTP(1)                      (bsd 4.2)                      FTP(1)



      NAME
           ftp - file transfer program

      SYNTAX
           ftp [ -v ] [ -d ] [ -i ] [ -n ] [ -g ] [ host ]

      DESCRIPTION
           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.

           The client host with which ftp is to communicate may be
           specified on the command line.  If this is done, ftp will
           immediately attempt to establish a connection to an FTP
           server on that host.  Otherwise, ftp will enter its command
           interpreter and await instructions from the user.  When ftp
           is awaiting commands from the user, the prompt ftp> is
           printed.  The following commands are recognized by ftp:

           !    Invoke a shell on the local machine.

           append local-file [ remote-file ]
                Append a local file to a file on the remote machine.
                If remote-file is left unspecified, the local file name
                is used in naming the remote file.  File transfer uses
                the current settings for type, format, mode, and
                structure.

           ascii
                Set the file transfer type to network ASCII.  This is
                the default type.

           bell Arrange that a bell be sounded after each file transfer
                command is completed.

           binary
                Set the file transfer type to support binary image
                transfer.

           bye  Terminate the FTP session with the remote server and
                exit ftp.

           cd remote-directory
                Change the working directory on the remote machine to
                remote-directory.

           close
                Terminate the FTP session with the remote server, and
                return to the command interpreter.

           delete remote-file
                Delete the file remote-file on the remote machine.



      Page 1                                          (73 A2 02MT REV1)






      FTP(1)                      (bsd 4.2)                      FTP(1)



           debug [ debug-value ]
                Toggle debugging mode.  If an optional debug-value is
                specified, it is used to set the debugging level.  When
                debugging is on, ftp prints each command sent to the
                remote machine, preceded by the string -->.

           dir [ remote-directory ] [ local-file ]
                Print a listing of the directory contents in the
                directory, remote-directory and, optionally, placing
                the output in 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.

           form format
                Set the file transfer form to format.  The default
                format is file.

           get remote-file [ local-file ]
                Retrieve the 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 type, form, mode, and
                structure are used while transferring the file.

           hash Toggle hash-sign (``#'') printing for each data block
                transferred.  The size of a data block is 4096 bytes.

           glob Toggle file name globbing.  With file name globbing
                enabled, each local file or pathname is processed for
                csh(1) metacharacters.  These characters include ``*?[
                ]~{}''.  Remote files specified in multiple item
                commands (e.g., mput) are globbed by the remote server.
                With globbing disabled, all files and pathnames are
                treated literally.

           help [ command ]
                Print an informative message about the meaning of
                command.  If no argument is given, ftp prints a list of
                the known commands.

           lcd [ directory ]
                Change the working directory on the local machine.  If
                no directory is specified, the user's home directory is
                used.

           ls [ remote-directory ] [ local-file ]
                Print an abbreviated listing of the contents of a
                directory on the remote machine.  If remote-directory
                is left unspecified, the current working directory is
                used.  If no local file is specified, the output is
                sent to the terminal.



      Page 2                                          (73 A2 02MT REV1)






      FTP(1)                      (bsd 4.2)                      FTP(1)



           mdelete remote-files
                Delete the specified files on the remote machine.  If
                globbing is enabled, the specification of remote files
                will first be expanded using ls.

           mdir remote-files local-file
                Obtain a directory listing of multiple files on the
                remote machine and place the result in local-file.

           mget remote-files
                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 ls.

           mkdir directory-name
                Make a directory on the remote machine.

           mls remote-files local-file
                Obtain an abbreviated listing of multiple files on the
                remote machine and place the result in local-file.

           mode [ mode-name ]
                Set the file transfer mode to mode-name.  The default
                mode is stream mode.

           mput local-files
                Transfer multiple local files from the current local
                directory to the current working directory on the
                remote machine.

           open host [ port ]
                Establish a connection to the specified host FTP
                server.  An optional port number may be supplied, in
                which case, ftp will attempt to contact an FTP server
                at that port.  If the auto-login option is on
                (default), ftp will also attempt to automatically log
                the user in to the FTP server (see below).

           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 mget or mput will transfer
                all files.

           put local-file [ remote-file ]
                Store a local file on the remote machine.  If remote-
                file is left unspecified, the local file name is used
                in naming the remote file.  File transfer uses the
                current settings for type, format, mode, and structure.




      Page 3                                          (73 A2 02MT REV1)






      FTP(1)                      (bsd 4.2)                      FTP(1)



           pwd  Print the name of the current working directory on the
                remote machine.

           quit A synonym for bye.

           quote arg1 arg2 ...
                The arguments specified are sent, verbatim, to the
                remote FTP server.  A single FTP reply code is expected
                in return.

           recv remote-file [ local-file ]
                A synonym for get.

           remotehelp [ command-name ]
                Request help from the remote FTP server.  If a
                command-name is specified, it is supplied to the server
                as well.

           rename [ from ] [ to ]
                Rename the file from on the remote machine, to the file
                to.

           rmdir directory-name
                Delete a directory on the remote machine.

           send local-file [ remote-file ]
                A synonym for put.

           sendport
                Toggle the use of PORT commands.  By default, ftp will
                attempt to use a PORT command when establishing a
                connection for each data transfer.  If the PORT command
                fails, ftp will use the default data port.  When the
                PORT commands are disabled, no attempt will be made to
                use PORT commands for each data transfer.  This is
                useful for certain FTP implementations which ignore
                PORT commands but, incorrectly, indicate they've been
                accepted.

           status
                Show the current status of ftp.

           struct [ struct-name ]
                Set the file transfer structure to struct-name.  By
                default stream structure is used.

           tenex
                Set the file transfer type to that needed to talk to
                TENEX machines.

           trace
                Toggle packet tracing.



      Page 4                                          (73 A2 02MT REV1)






      FTP(1)                      (bsd 4.2)                      FTP(1)



           type [ type-name ]
                Set the file transfer type to type-name.  If no type is
                specified, the current type is printed.  The default
                type is network ASCII.

           user user-name [ password ] [ account ]
                Identify yourself to the remote FTP server.  If the
                password is not specified and the server requires it,
                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 ftp is invoked with auto-login disabled,
                this process is done automatically on initial
                connection to the FTP server.

           verbose
                Toggle verbose mode.  In verbose mode, all responses
                from the FTP server are displayed to the user.  If
                verbose is on, statistics regarding the efficiency of
                the transfer will be reported when the file transfer
                completes.  By default, verbose is on.

           ? [ command ]
                A synonym for help.

           Command arguments which have embedded spaces may be quoted
           with quote (") marks.

      FILE NAMING CONVENTIONS
           Files specified as arguments to ftp commands are processed
           according to the following rules.

           1)   If the file name - is specified, the stdin (for
                reading) or stdout (for writing) is used.

           2)   If the first character of the file name is |, the
                remainder of the argument is interpreted as a shell
                command.  Ftp then forks a shell, using popen(3S) with
                the argument supplied, and reads from stdout or writes
                to stdin.  If the shell command includes spaces, the
                argument must be quoted; e.g. "| ls -lt".  A
                particularly useful example of this mechanism is: dir
                |more.

           3)   Failing the above checks, if ``globbing'' is enabled,
                local file names are expanded according to the rules
                described for the glob command in csh(1).

      FILE TRANSFER PARAMETERS
           The FTP specification specifies many parameters which may
           affect a file transfer.  The type may be one of ascii, image
           (binary), ebcdic, and local byte size (for PDP-10's and



      Page 5                                          (73 A2 02MT REV1)






      FTP(1)                      (bsd 4.2)                      FTP(1)



           PDP-20's mostly).  Ftp supports the ascii and image types of
           file transfer.

           Ftp supports only the default values for the remaining file
           transfer parameters: mode, form, and struct.

      OPTIONS
           Options may be specified at the command line, or to the
           command interpreter.

           The -v (verbose on) option forces ftp to show all responses
           from the remote server, as well as report on data transfer
           statistics.

           The -n option restrains ftp from attempting auto-login upon
           initial connection.  If auto-login is enabled, ftp will
           check the .netrc file in the user's home directory for an
           entry describing an account on the remote machine.  If no
           entry exists, ftp will use the login name on the local
           machine as the user identity on the remote machine, then
           prompt for a password and, optionally, an account with which
           to login.

           The -i option turns off interactive prompting during
           multiple file transfers.

           The -d option enables debugging.

           The -g option disables file name globbing.

      BUGS
           Many FTP server implementations do not support the
           experimental operations such as pwd (print working
           directory).  Aborting a file transfer does not work right;
           if attempted, the local ftp will have to be killed by hand.

           Pipes, like dir | more, do not work.  See File Naming
           Convention number 2.

           Tenex is not guaranteed to work.

           Mdel, mls, and mdir are not implemented.













      Page 6                                          (73 A2 02MT REV1)



