


      FFFFTTTTPPPP((((1111))))                      ((((bbbbssssdddd 4444....2222))))                      FFFFTTTTPPPP((((1111))))



      NNNNAAAAMMMMEEEE
           ftp - file transfer program

      SSSSYYYYNNNNTTTTAAAAXXXX
           ffffttttpppp [ ----vvvv ] [ ----dddd ] [ ----iiii ] [ ----nnnn ] [ ----gggg ] [ hhhhoooosssstttt ]

      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
           _F_t_p 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 _f_t_p is to communicate may be
           specified on the command line.  If this is done, _f_t_p will
           immediately attempt to establish a connection to an FTP
           server on that host.  Otherwise, _f_t_p will enter its command
           interpreter and await instructions from the user.  When _f_t_p
           is awaiting commands from the user, the prompt ftp> is
           printed.  The following commands are recognized by _f_t_p:

           !!!!    Invoke a shell on the local machine.

           aaaappppppppeeeennnndddd _l_o_c_a_l-_f_i_l_e [ _r_e_m_o_t_e-_f_i_l_e ]
                Append a local file to a file on the remote machine.
                If _r_e_m_o_t_e-_f_i_l_e is left unspecified, the local file name
                is used in naming the remote file.  File transfer uses
                the current settings for _t_y_p_e, _f_o_r_m_a_t, _m_o_d_e, and
                _s_t_r_u_c_t_u_r_e.

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

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

           bbbbiiiinnnnaaaarrrryyyy
                Set the file transfer _t_y_p_e to support binary image
                transfer.

           bbbbyyyyeeee  Terminate the FTP session with the remote server and
                exit _f_t_p.

           ccccdddd _r_e_m_o_t_e-_d_i_r_e_c_t_o_r_y
                Change the working directory on the remote machine to
                _r_e_m_o_t_e-_d_i_r_e_c_t_o_r_y.

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

           ddddeeeelllleeeetttteeee _r_e_m_o_t_e-_f_i_l_e
                Delete the file _r_e_m_o_t_e-_f_i_l_e on the remote machine.



      Page 1                                                   (9010-E)






      FFFFTTTTPPPP((((1111))))                      ((((bbbbssssdddd 4444....2222))))                      FFFFTTTTPPPP((((1111))))



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

           ddddiiiirrrr [ _r_e_m_o_t_e-_d_i_r_e_c_t_o_r_y ] [ _l_o_c_a_l-_f_i_l_e ]
                Print a listing of the directory contents in the
                directory, _r_e_m_o_t_e-_d_i_r_e_c_t_o_r_y and, optionally, placing
                the output in _l_o_c_a_l-_f_i_l_e.  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.

           ffffoooorrrrmmmm _f_o_r_m_a_t
                Set the file transfer _f_o_r_m to _f_o_r_m_a_t.  The default
                format is file.

           ggggeeeetttt _r_e_m_o_t_e-_f_i_l_e [ _l_o_c_a_l-_f_i_l_e ]
                Retrieve the _r_e_m_o_t_e-_f_i_l_e 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 _t_y_p_e, _f_o_r_m, _m_o_d_e, and
                _s_t_r_u_c_t_u_r_e are used while transferring the file.

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

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

           hhhheeeellllpppp [ _c_o_m_m_a_n_d ]
                Print an informative message about the meaning of
                _c_o_m_m_a_n_d.  If no argument is given, _f_t_p prints a list of
                the known commands.

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

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



      Page 2                                                   (9010-E)






      FFFFTTTTPPPP((((1111))))                      ((((bbbbssssdddd 4444....2222))))                      FFFFTTTTPPPP((((1111))))



           mmmmddddeeeelllleeeetttteeee _r_e_m_o_t_e-_f_i_l_e_s
                Delete the specified files on the remote machine.  If
                globbing is enabled, the specification of remote files
                will first be expanded using _l_s.

           mmmmddddiiiirrrr _r_e_m_o_t_e-_f_i_l_e_s _l_o_c_a_l-_f_i_l_e
                Obtain a directory listing of multiple files on the
                remote machine and place the result in _l_o_c_a_l-_f_i_l_e.

           mmmmggggeeeetttt _r_e_m_o_t_e-_f_i_l_e_s
                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 _l_s.

           mmmmkkkkddddiiiirrrr _d_i_r_e_c_t_o_r_y-_n_a_m_e
                Make a directory on the remote machine.

           mmmmllllssss _r_e_m_o_t_e-_f_i_l_e_s _l_o_c_a_l-_f_i_l_e
                Obtain an abbreviated listing of multiple files on the
                remote machine and place the result in _l_o_c_a_l-_f_i_l_e.

           mmmmooooddddeeee [ _m_o_d_e-_n_a_m_e ]
                Set the file transfer _m_o_d_e to _m_o_d_e-_n_a_m_e.  The default
                mode is stream mode.

           mmmmppppuuuutttt _l_o_c_a_l-_f_i_l_e_s
                Transfer multiple local files from the current local
                directory to the current working directory on the
                remote machine.

           ooooppppeeeennnn _h_o_s_t [ _p_o_r_t ]
                Establish a connection to the specified _h_o_s_t FTP
                server.  An optional port number may be supplied, in
                which case, _f_t_p will attempt to contact an FTP server
                at that port.  If the _a_u_t_o-_l_o_g_i_n option is on
                (default), _f_t_p will also attempt to automatically log
                the user in to the FTP server (see below).

           pppprrrroooommmmpppptttt
                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 _m_g_e_t or _m_p_u_t will transfer
                all files.

           ppppuuuutttt _l_o_c_a_l-_f_i_l_e [ _r_e_m_o_t_e-_f_i_l_e ]
                Store a local file on the remote machine.  If _r_e_m_o_t_e-
                _f_i_l_e is left unspecified, the local file name is used
                in naming the remote file.  File transfer uses the
                current settings for _t_y_p_e, _f_o_r_m_a_t, _m_o_d_e, and _s_t_r_u_c_t_u_r_e.




      Page 3                                                   (9010-E)






      FFFFTTTTPPPP((((1111))))                      ((((bbbbssssdddd 4444....2222))))                      FFFFTTTTPPPP((((1111))))



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

           qqqquuuuiiiitttt A synonym for bye.

           qqqquuuuooootttteeee _a_r_g_1 _a_r_g_2 ...
                The arguments specified are sent, verbatim, to the
                remote FTP server.  A single FTP reply code is expected
                in return.

           rrrreeeeccccvvvv _r_e_m_o_t_e-_f_i_l_e [ _l_o_c_a_l-_f_i_l_e ]
                A synonym for get.

           rrrreeeemmmmooootttteeeehhhheeeellllpppp [ _c_o_m_m_a_n_d-_n_a_m_e ]
                Request help from the remote FTP server.  If a
                _c_o_m_m_a_n_d-_n_a_m_e is specified, it is supplied to the server
                as well.

           rrrreeeennnnaaaammmmeeee [ _f_r_o_m ] [ _t_o ]
                Rename the file _f_r_o_m on the remote machine, to the file
                _t_o.

           rrrrmmmmddddiiiirrrr _d_i_r_e_c_t_o_r_y-_n_a_m_e
                Delete a directory on the remote machine.

           sssseeeennnndddd _l_o_c_a_l-_f_i_l_e [ _r_e_m_o_t_e-_f_i_l_e ]
                A synonym for put.

           sssseeeennnnddddppppoooorrrrtttt
                Toggle the use of PORT commands.  By default, _f_t_p will
                attempt to use a PORT command when establishing a
                connection for each data transfer.  If the PORT command
                fails, _f_t_p 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.

           ssssttttaaaattttuuuussss
                Show the current status of _f_t_p.

           ssssttttrrrruuuucccctttt [ _s_t_r_u_c_t-_n_a_m_e ]
                Set the file transfer _s_t_r_u_c_t_u_r_e to _s_t_r_u_c_t-_n_a_m_e.  By
                default stream structure is used.

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

           ttttrrrraaaacccceeee
                Toggle packet tracing.



      Page 4                                                   (9010-E)






      FFFFTTTTPPPP((((1111))))                      ((((bbbbssssdddd 4444....2222))))                      FFFFTTTTPPPP((((1111))))



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

           uuuusssseeeerrrr _u_s_e_r-_n_a_m_e [ _p_a_s_s_w_o_r_d ] [ _a_c_c_o_u_n_t ]
                Identify yourself to the remote FTP server.  If the
                password is not specified and the server requires it,
                _f_t_p 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 _f_t_p is invoked with auto-login disabled,
                this process is done automatically on initial
                connection to the FTP server.

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

           ???? [ _c_o_m_m_a_n_d ]
                A synonym for help.

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

      FFFFIIIILLLLEEEE NNNNAAAAMMMMIIIINNNNGGGG CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNNSSSS
           Files specified as arguments to _f_t_p commands are processed
           according to the following rules.

           1)   If the file name - is specified, the ssssttttddddiiiinnnn (for
                reading) or ssssttttddddoooouuuutttt (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.  _F_t_p then forks a shell, using _p_o_p_e_n(3) 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 _g_l_o_b command in _c_s_h(1).

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



      Page 5                                                   (9010-E)






      FFFFTTTTPPPP((((1111))))                      ((((bbbbssssdddd 4444....2222))))                      FFFFTTTTPPPP((((1111))))



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

           _F_t_p supports only the default values for the remaining file
           transfer parameters: _m_o_d_e, _f_o_r_m, and _s_t_r_u_c_t.

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

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

           The ----nnnn option restrains _f_t_p from attempting auto-login upon
           initial connection.  If auto-login is enabled, _f_t_p will
           check the ._n_e_t_r_c file in the user's home directory for an
           entry describing an account on the remote machine.  If no
           entry exists, _f_t_p 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 ----iiii option turns off interactive prompting during
           multiple file transfers.

           The ----dddd option enables debugging.

           The ----gggg option disables file name globbing.

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

           Pipes, like ddddiiiirrrr |||| mmmmoooorrrreeee, do not work.  See File Naming
           Convention number 2.

           TTTTeeeennnneeeexxxx is not guaranteed to work.

           MMMMddddeeeellll, mmmmllllssss, and mmmmddddiiiirrrr are not implemented.













      Page 6                                                   (9010-E)



