FTP(1N) COMMAND REFERENCE FTP(1N) NAME ftp - file transfer program SYNOPSIS ftp [ -v ] [ -d ] [ -i ] [ -n ] [ -g ] [ -pport ] [ host ] DESCRIPTION As the user interface to the ARPANET standard File Transfer Protocol (ftp), the program allows a user to transfer files to and from a remote network site. The client host which ftp communicates 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 provided the user. 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 Sound a bell 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. debug [ debug-value ] Toggle debugging mode. If an optional debug-value Printed 4/6/89 1
FTP(1N) COMMAND REFERENCE FTP(1N) 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, place 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;thedefaultformatis 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 1024 bytes. glob Toggle file name globbing. With file name globbing enabled, each local file or path name is processed for csh(1CSH) 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 path names 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. Printed 4/6/89 2
FTP(1N) COMMAND REFERENCE FTP(1N) 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. 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 commands 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 transfers use the current settings for type, format, mode, and structure. Printed 4/6/89 3
FTP(1N) COMMAND REFERENCE FTP(1N) 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. remotestatus [ path-name ] Request status of the remote FTP server. If path- name is given the remote server returns status of the remote path-name. 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 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.) 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. Printed 4/6/89 4
FTP(1N) COMMAND REFERENCE FTP(1N) trace Toggle packet tracing. 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 the password (after disabling local echo). If an account field is not specified, and the FTP server requires it, the user will be prompted for the account field. 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. 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. ? [ 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 (writes) from the stdout (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 used in csh(1CSH). Printed 4/6/89 5
FTP(1N) COMMAND REFERENCE FTP(1N) 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 PDP-20's mostly); ftp supports the ascii and image types of file transfer at this time. The ftp command supports only the default values for the remaining file transfer parameters: mode, form, and struct. RESPONSES In verbose mode all responses from the remote host are printed, otherwise only error responses are printed. Responses are prefixed by one character, indicating the nature of the response: > Positive Preliminary reply: "Okay so far." * Positive Completion reply: "Okay." + Positive Intermediate reply: "Okay, expect more." ! Transient Negative reply: "No, I have problems (try again)." ? Permanent Negative reply: "No, that is an error" INTERRUPTING A transfer in progress can be changed by interrupting ftp. The actions possible after an interrupt are listed here. abort abort the transfer status print out status of local and remote sides quit leave ftp program continue resume file transfer OPTIONS Options may be specified on the command line or may be specified to the command interpreter. -v (Verbose on.) Force ftp to show all responses from the remote server, as well as report on data transfer statistics. -n Restrain ftp from attempting auto-login upon initial connection. If auto-login is enabled, ftp checks the .netrc file in the user's home directory for an entry Printed 4/6/89 6
FTP(1N) COMMAND REFERENCE FTP(1N) describing an account on the remote machine. If no entry exists, ftp uses the login name on the local machine as the user identity on the remote machine, and prompts for a password and, optionally, an account with which to login. -i Turn off interactive prompting during multiple file transfers. -d Enable debugging. -g Disable file name globbing. -pnum Use the tcp port num instead of the port listed for ftp/tcp in /etc/services. RETURN VALUE [NO_ERRS] Command completed without error. [USAGE] Incorrect command line syntax. Execution terminated. [NP_ERRS] CAVEATS Many FTP server implementations do not support the experimental operations such as print working directory. Some implementations do not support the interrupting of transfers for aborting or status; in this case, the user must reconnect with the open(2) command. SEE ALSO netrc(5N), ftpd(8N). Printed 4/6/89 7
%%index%% na:240,79; sy:319,352; de:671,2789;3772,3069;7153,3132;10597,3070;13979,2949;17240,2175; op:19415,650;20377,736; rv:21113,287; ca:21400,377; se:21777,148; %%index%%000000000188