ftp(1)								       ftp(1)



NAME

  ftp - Transfers files between a local and a remote host

SYNOPSIS

  ftp [-dgintv] [host]

  The ftp command is the interface to the File Transfer Protocol (FTP).	 This
  command uses FTP to transfer files between the local host and a remote host
  or between two remote hosts.

FLAGS

  The following flags can be entered on the shell command line.	 (The the ftp
  command equivalents can also be entered at the ftp> prompt.)

  -d  Enables debugging by turning on the logging feature.  See the debug
      subcommand.

  -g  Disables the expansion of metacharacters in filenames. Interpreting
      metacharacters may be referred to as expanding (sometimes called glob-
      bing) a filename.	 See the glob subcommand.

  -i  Disables interactive prompting during multiple file transfers.  See the
      prompt, mget, mput, and mdelete subcommands for descriptions of prompt-
      ing during multiple file transfers.

  -n  Prevents an automatic login on the initial connection.  Otherwise, ftp
      searches for a $HOME/.netrc entry that describes the login and initial-
      ization process for the remote host.  See the user subcommand.

  -t  Toggles packet tracing (see trace subcommand).

  -v  Displays all the responses from the remote server and provides data
      transfer statistics.  This is the default display mode when the output
      of the ftp command is to a device, such as the console or a display.
      However, if output is redirected, such as through a pipe or to a file,
      or if the ftp command is started by a daemon, such as the cron daemon,
      verbose mode is not in effect unless the -v flag or the verbose subcom-
      mand is used.  See the verbose subcommand.

DESCRIPTION

  The FTP protocol is designed to allow transferring data between hosts that
  use dissimilar file systems.	Therefore, although the protocol provides a
  lot of flexibility for transferring data, it does not attempt to preserve
  file attributes that are specific to a particular file system (for example,
  the protection mode or modification times of a file).	 Additionally, the
  FTP protocol makes few assumptions about the overall structure of a file
  system and does not provide or allow such things as recursively copying
  subdirectories.

  Note that if you are transferring files between OSF/1 systems (or other
  systems compatible with the UNIX operating system) and need to preserve
  file attributes or need to recursively copy subdirectories, you can use the
  rcp command.


  The ftp command provides subcommands for tasks such as listing remote
  directories, changing the current local and remote directory, transferring
  multiple files in a single request, creating and removing directories, and
  escaping to the local shell to perform shell commands.  The ftp command
  also provides for security by sending passwords to the remote host and per-
  mits automatic login, file transfer, and logoff.

  If you execute ftp and do not specify a hostname, ftp immediately displays
  the ftp> prompt and waits for an ftp subcommand.  To connect to a remote
  host, you then execute the open subcommand.  When the ftp command connects
  to the remote host, ftp then prompts for the username and password before
  displaying the ftp> prompt again.  ftp fails if no password is defined at
  the remote host for the specified username.

  If you do specify the name of a remote host, ftp immediately tries to
  establish a connection to the specified host.	 If ftp connects success-
  fully, ftp searches for a local $HOME/.netrc file in your current directory
  or home directory.  If the file exists, ftp searches the file for an entry
  that initiates the login process and command macro definitions for the
  remote host.	If the $HOME/.netrc file or autologin entry does not exist,
  ftp prompts you for a username and password.	This occurs whether or not
  the hostname is entered on the command line.

  If ftp finds a $HOME/.netrc autologin entry for the specified host, ftp
  attempts to use the information in that entry to automatically log in to
  the remote host.  The ftp command also loads any command macros defined in
  the entry.  In some cases (for example, when the required password is not
  listed in an autologin entry), ftp prompts for the password before display-
  ing the ftp> prompt.	Once ftp completes the autologin process, ftp exe-
  cutes the init macro if the macro is defined in the autologin entry.	If
  the init macro does not exist or does not contain a quit or bye command,
  ftp then displays the ftp> prompt and waits for a subcommand.

  The remote username that you specify either at the prompt or in a
  $HOME/.netrc file must exist and have a password defined at the remote host
  or ftp fails.	 In addition, the remote user's shell must be listed in the
  /etc/shells file.

  Users are authenticated as described in ftpd(8).

  The ftp command interpreter, which handles all commands entered at the ftp>
  prompt, provides facilities that are not available with most file transfer
  programs, such as:  the handling of filename arguments to ftp commands, the
  ability to collect a group of commands into a single command macro, and the
  ability to load macros from a $HOME/.netrc file.  These facilities are
  designed to allow simplifying repeated tasks and to allow using ftp in
  unattended mode.

  The command interpreter handles filename arguments according to the follow-
  ing rules:

    +  If a - (dash) is specified for the argument, standard input is used
       for read operations and standard output is used for write operations.

    +  If the first character of the filename is | (vertical bar), the
       remainder of the argument is interpreted as a shell command.  ftp then
       forks a shell, using popen() with the argument supplied, and reads
       (writes) from stdout (stdin).

       If the shell command includes spaces, the argument must be quoted; for
       example, | ls -lt.  A particularly useful example of this mechanism is
       dir |more.

    +  Failing the above checks, if globbing is enabled, local filenames are
       expanded according to the rules used in csh; c.f., the glob command.
       If the ftp command expects a single local file (for example, put),
       only the first filename generated by the globbing operation is used.

    +  For get and mget subcommands with unspecified local filenames, the
       local filename is the same as the remote filename, which may be
       altered by a case, ntrans, or nmap setting.  The resulting filename
       can then be altered if runique is on.

    +  For mput commands and put commands with unspecified remote filenames,
       the remote filename is the same as the local filename, which can be
       altered by a ntrans or nmap setting.  The resulting filename can then
       be altered by the remote server if sunique is on.

  Note that the ftp command interpreter does not support pipes.

  To end an ftp session when you are running interactively, use the bye or
  quit subcommand or the End-of-File key sequence at the ftp> prompt.  To end
  a file transfer before it has been completed, use the Interrupt key
  sequence.  The default Interrupt key sequence is .

  The stty command can be used to redefine this key sequence.  Sending
  transfers (those from the local host to the remote host) are normally
  halted immediately.  Receiving transfers are halted by sending an FTP ABOR
  instruction to the remote FTP server and discarding all incoming file
  transfer packets until the remote server stops sending them.

  If the remote server does not support the ABOR instruction, the ftp> prompt
  will not appear until the remote server has sent all of the requested file.
  Additionally, if the remote server does something unexpected, the local ftp
  process may need to be ended manually.

  The ftp command uses the default Type-of-Service values recommended by
  RFC1060, which are as follows:

  ftp-control
      Low delay

  ftp-data
      High throughput

  You can configure these values by specifying them in the /etc/iptos file.
  For more information, see iptos(4).

SUBCOMMANDS

  The following ftp subcommands can be entered at the ftp> prompt.  If an
  argument for a subcommand includes spaces, enclose the argument within ""
  (double quotes).

  ![command [argument ...]]
      Invokes an interactive shell on the local host.  An optional command,
      with one or more optional arguments, can be specified.

  $ macro [argument ...]
      Executes the specified macro, previously defined with the macdef sub-
      command.	Arguments are not expanded.  See the macdef subcommand for
      further information.

  ? [subcommand]
      Displays a help message describing the subcommand.  If you do not
      specify subcommand, ftp displays a list of known subcommands.

  account [password]
      Sends a supplemental password that a remote host may require before
      granting access to its resources.	 If the password is not supplied with
      the command, you are prompted for the password.  The password does not
      appear on the screen.

  append local_file [remote_file]
      Appends a local file to a file on the remote host.  If the remote
      filename is not specified, the local filename is used, altered by any
      setting made with the ntrans or nmap subcommand.	The append subcommand
      uses the current values for form, mode,  struct, and type while append-
      ing the file.  For more information on these subcommands, see their
      individual descriptions.

  ascii
      Sets the file transfer type to network ASCII.  This ft command is the
      default when ftp cannot determine that the remote system is a UNIX sys-
      tem.  File transfer may be more efficient with binary-image transfer.

  bell
      Sounds a bell after the completion of each file transfer.

  binary
      Sets the file transfer type to binary image, by default, if ftp can
      determine that the remote system is a UNIX system.  This can be more
      efficient than an ASCII transfer.

  bye Ends the File Transfer session and exits ftp.  Same as quit.

  case
      Sets a toggle for the case of filenames.	When case is on, remote
      filenames that appear in all capital letters are changed from uppercase
      to lowercase when written in the local directory.	 The default is off
      (uppercase remote filenames are written in uppercase in the local
      directory).

  cd remote_directory
      Changes the remote working directory to the specified directory.

  cdup
      Changes the working directory on the remote host to the parent of the
      current directory.

  close
      Ends the File Transfer session, but does not exit ftp.  Defined macros
      are erased.  Same as disconnect.

  cr  Strips the carriage-return character from a carriage-return/linefeed
      sequence when receiving records during ASCII-type file transfers.	 (ftp
      terminates each ASCII-type record with a carriage-return/linefeed
      sequence during file transfers.)	This conforms with the OSF/1 and UNIX
      system convention for terminating records with a single linefeed.
      Records on remote hosts that have different record termination conven-
      tions may have single linefeeds imbedded in records.  To distinguish
      these imbedded linefeeds from record delimiters, set cr to off.  cr
      toggles between on and off.

  delete remote_file
      Deletes the specified remote file.

  debug [on | off]
      Prints each command sent to the remote host preceded by the string -->
      when debug on is specified.

  dir [remote_directory][local_file]
      Writes a listing of the contents of remote_directory to the file
      local_file.  If remote_directory is not specified, dir lists the con-
      tents of the current remote directory.  If local_file is not specified
      or is a - (dash), dir displays the listing on the local terminal.

  disconnect
      See close.

  form format
      Specifies the form of the file transfer.	The only format available is
      non-print.

  get remote_file [local_file]
      Copies the remote file to the local host.	 If local_file is not speci-
      fied, the remote filename is used locally and is altered by any set-
      tings made by the case, ntrans, and nmap subcommands.  The ftp command
      uses the current settings for type, form, mode, and struct while
      transferring the file.  For additional information, refer to the
      description of each of these subcommands.

  glob
      Toggles filename expansion (globbing) for mdelete, mget, and mput.  If
      globbing is off, filename arguments for these subcommands are not
      expanded.	 When globbing is enabled and a pattern-matching character is
      used in a subcommand that expects a single filename, results may be
      different than expected.	For example, the append and put subcommands
      perform filename expansion and then use only the first filename gen-
      erated.  Other ftp subcommands, such as cd, delete, get, mkdir, rename,
      and rmdir, do not perform filename expansion and take the pattern-
      matching characters literally.

      Globbing for the mput subcommand is done locally in the same way as for
      the csh command.	For mdelete and mget, each filename is expanded
      separately at the remote machine and the lists are not merged.  The
      expansion of a directory name may be different than the expansion of a
      filename, depending on the remote host and the ftp server.

      To preview the expansion of a directory name, use the mls subcommand:
	   mls remote_file -


      To transfer an entire directory subtree of files, transfer a tar
      archive of the subtree in binary form, rather than using mget or mput.

  hash
      Toggles # (hash sign) printing.  When hash is on, ftp displays one hash
      sign for each data block (1024 bytes) transferred.

  help [subcommand]
      Displays help information. Refer to the ? subcommand.

  lcd [directory]
      Changes the working directory on the local host.	If you do not specify
      a directory, ftp uses your home directory.

  ls [remote_directory] [local_file]
      Writes an abbreviated file listing of a remote directory to a local
      file.  If remote_directory is not specified, ftp lists the current
      remote directory.	 If local_file is not specified or is a - (dash), ftp
      displays the listing on the local terminal.

  macdef macro
      Defines a subcommand macro.  Subsequent lines up to a null line (two
      consecutive linefeeds) are saved as the text of the macro.  Up to 16
      macros containing at most 4096 bytes for all macros can be defined.
      Macros remain defined until redefined or a close is executed.

      The special characters $ (dollar sign) and \ (backslash) have special
      uses in ftp macros.  A $ followed by one or more numbers is replaced by
      the corresponding macro parameter on the invocation line (refer to the
      $ subcommand).  A $ followed by an i indicates that the macro is to
      loop, with $i being replaced by consecutive parameters on each pass.
      The first macro parameter is used on the first pass, the second parame-
      ter is used on the second pass, and so on.  A \ prevents special treat-
      ment of the next character.  Use the \ to turn off the special meanings
      of $ and \.

  mdelete remote_files
      Expands remote_files and deletes the indicated remote files.

  mdir [remote_directory ... local_file]
      Expands remote_directory at the remote host and writes a listing of the
      contents of the remote_directory to the local_file.  If the
      remote_directory argument contains a pattern-matching character, mdir
      prompts for a local_file if none is specified.  If the remote_directory
      argument is a list of remote directories, separated by spaces, the last
      argument in the list must be either a local filename or a - (dash).  If
      local_file is -, mdir displays the listing on the local terminal.	 If
      interactive prompting is on (refer to the prompt subcommand), ftp
      prompts you to verify that the last argument is a local file and not a
      remote directory.

  mget remote_file ...
      Expands remote_files at the remote host and copies the indicated remote
      files to the current directory on the local host.	 Refer to the glob
      subcommand for more information on filename expansion.  The remote
      filenames are used locally and are altered by any settings made by the
      case, ntrans, and nmap subcommands.  The ftp command uses the current
      settings for type, form, mode, and structure while transferring the
      files.  Refer to the description of each of these subcommands for addi-
      tional information.

  mkdir [remote_directory]
      Creates the directory remote_directory on the remote host.

  mls [remote_directory ... local_file]
      Expands remote_directory at the remote host and writes an abbreviated
      file listing of the indicated remote directories to a local file.	 If
      the remote_directory argument contains a pattern-matching character,
      mls prompts for a local_file if none is specified.  If the
      remote_directory argument is a list of remote directories, separated by
      spaces, the last argument in the list must be either a local filename
      or a - (dash).  If local_file is -, mls displays the listing on the
      local terminal.  If interactive prompting is on (refer to the prompt
      subcommand), ftp prompts you to verify that the last argument is a
      local file and not a remote directory.

  mode [mode]
      Sets file transfer mode.	The only mode available is stream.

  modtime [remote_file]
      Shows the last modification time of file on the remote machine.

  mput [local_file ...]
      Expands local_file at the local host and copies the indicated local
      files to the remote host.	 Refer to the glob subcommand for more infor-
      mation on filename expansion.  The local filenames are used at the
      remote host and are altered by any settings made by the ntrans and nmap
      subcommands.  The ftp command uses the current settings for type, form,
      mode, and structure while transferring the files.	 Refer to the
      description of each subcommand for additional information.

  nlist [remote_directory] [local_file]
      Prints a list of the files of a directory on the remote machine.	If
      remote_directory is left unspecified, the current working directory is
      used.  If interactive prompting is on, ftp prompts the user to verify
      that the last argument is indeed the target local file for receiving
      nlist output.  If no local file is specified, the output is sent to the
      terminal.

  nmap [inpattern outpattern]
      Sets or unsets the filename mapping mechanism.  If no arguments are
      specified, filename mapping is turned off.  If arguments are specified,
      source filenames are mapped for mget and mput operations and for get
      and put operations when the destination filename is not specified.
      This subcommand is useful when the local and remote hosts use different
      filenaming conventions or practices.  Mapping follows the pattern set
      by inpattern and outpattern.

      The inpattern variable specifies the template for incoming filenames,
      which may have already been processed according to the case and ntrans
      settings.	 The template variables $1 through $9 can be included in
      inpattern.  All characters in inpattern other than $ and protected $s
      (that is, \$) define the values of the template variables.  For exam-
      ple, if the inpattern is $1.$2 and the remote filename is mydata.dat,
      the value of $1 is mydata and the value of $2 is dat.

      The outpattern variable determines the resulting filename.  The vari-
      ables $1 through $9 are replaced by their values as derived from inpat-
      tern and the variable $0 is replaced by the original filename.  Addi-
      tionally, the sequence [sequence1,sequence2] is replaced by the value
      of sequence1 if sequence1 is not null; otherwise, it is replaced by the
      value of sequence2.  For example, the following subcommand would yield
      myfile.data from myfile.data or myfile.data.old, myfile.file from
      myfile, and myfile.myfile from .myfile:
	   nmap $1.$2.$3 [$1,$2].[$2,file]


      Spaces can be included in outpattern.  Use the \ (backslash) character
      to prevent the special meanings of $, [, ], and , (comma) in outpat-
      tern.

  ntrans [in_characters [out_characters]]
      Sets or unsets the filename character translation mechanism.  If no
      arguments are specified, character translation is turned off.  If argu-
      ments are specified, characters in source filenames are translated for
      mget and mput operations and for get and put operations when the desti-
      nation filename is not specified.	 This subcommand is useful when the
      local and remote hosts use different file naming conventions or prac-
      tices.  Character translation follows the pattern set by in_characters
      and out_characters.  Characters in a source filename matching charac-
      ters in in_characters are replaced by the corresponding characters in
      out_characters.  If the string in_characters is longer than the string
      out_characters, characters in in_characters are deleted if they have no
      corresponding character in out_characters.

  open host [port]
      Establishes a connection to the FTP server at the specified host.	 If
      the optional port number is specified, ftp will attempt to connect to a
      server at that port.  If the autologin feature is set (that is, -n was
      not specified on the command line), ftp will attempt to automatically
      log you in to the FTP server.  You must also have a $HOME/.netrc file
      with the correct information in it and the correct permissions set.

  prompt
      Toggles interactive prompting.  If interactive prompting is on (the
      default), ftp will prompt for verification before retrieving, sending,
      or deleting multiple files during mget, mput, and mdelete operations.
      Otherwise, ftp will perform the operation on all files specified.

  proxy [subcommand]
      Executes an ftp command on a secondary control connection.  This sub-
      command allows ftp to simultaneously connect to two remote FTP servers
      for transferring files between the two servers.  To establish the
      secondary control connection, specify open as the first proxy subcom-
      mand.  Enter the subcommand proxy ? to see the other ftp subcommands
      that are executable on the secondary connection.	The following subcom-
      mands behave differently when prefaced by proxy:

	+
	The open subcommand does not define new macros during the autologin
	process.

	+
	The close subcommand does not erase existing macro definitions.

	+
	The get and mget subcommands transfer files from the host on the pri-
	mary connection to the host on the secondary connection.

	+
	The put, mput, and append subcommands transfer files from the host on
	the secondary connection to the host on the primary connection.

	File transfers require that the FTP server on the secondary connec-
	tion support the PASV (passive) instruction.

  put local_file [remote_file]
      Stores a local file on the remote host.  If you do not specify
      remote_file, ftp uses the local filename to name the remote file, and
      the remote filename is altered by any settings made by the ntrans and
      nmap subcommands.	 The ftp command uses the current settings for type,
      form, mode, and structure while transferring the files.  Refer to the
      description of each subcommand for additional information.

  pwd Displays the name of the current directory on the remote host.

  quit
      Ends the file transfer session and exits ftp.  A synonym for bye.

  quote string
      Sends the specified string verbatim to the remote host.  Unpredictable
      results can occur when you quote commands that involve data transfers.

  recv remote_file [local_file]
      Copies the remote file to the local host.	 A synonym for get.

  reget remote_file [local_file]
      Acts like get, except that if local_file exists and is smaller than
      remote_file, local_file is presumed to be a partially transferred copy
      of remote_file and the transfer is continued from the apparent point of
      failure.	This subcommand is useful when transferring very large files
      over networks that are prone to dropping connections.

  remotehelp [subcommand]
      Requests help from the remote FTP server.

  rename from to
      Renames a file on the remote host.

  reset
      Clears the reply queue.  This command resynchronizes the command pars-
      ing.

  restart marker
      Restarts the immediately following get or put at the indicated marker.
      On systems that treat files as unstructured byte arrays (such as OSF/1
      and UNIX systems), marker is simply a byte offset into the file.

  rmdir remote_directory
      Removes the directory remote_directory at the remote host.

  runique
      Toggles whether unique filenames are created for local destination
      files during get and mget operations.  If creating unique local
      filenames is not enabled (the default), ftp overwrites local files.
      Otherwise, if a local file has the same name as specified for a local
      destination file, ftp modifies the specified name of the local destina-
      tion file with .1.  If a local file is already using the new name, ftp
      appends the postfix .2 to the specified name.  If a local file is
      already using this second name, ftp continues incrementing the postfix
      until it either finds a unique filename or reaches .99 without finding
      a unique name.  If ftp cannot find a unique name, ftp reports an error
      and the transfer does not take place.  Note that runique does not
      affect local filenames generated from a shell command.

  send local_file [remote_file]
      Stores a local file on the remote host.  A synonym for put.

  sendport
      Toggles the use of FTP PORT instructions.	 By default, ftp uses a PORT
      instruction when establishing a connection for each data transfer.
      When the use of PORT instructions is disabled, ftp does not use PORT
      instructions for data transfers.	The PORT instruction is useful when
      dealing with FTP servers that ignore PORT instructions while
      incorrectly indicating they were accepted.

  size
      Returns the size of file on the remote machine in bytes.

  status
      Displays current status of ftp.

  struct [structure]
      Sets data transfer structure type.  The only structure supported is
      file.

  sunique
      Toggles whether unique filenames are created for remote destination
      files during put and mput operations.  If creating unique remote
      filenames is not enabled (the default), ftp overwrites remote files.
      Otherwise, if a remote file has the same name as specified for a remote
      destination file, the remote FTP server modifies the name of the remote
      destination file.	 Note that the remote server must support the STOU
      instruction.

  system
      Shows the type of operating system running on the remote machine.

  tenex
      Sets the file transfer type to that needed for TENEX machines.

  trace
      Toggles packet tracing.

  type [type]
      Sets the file transfer type to type.  If type is not specified, the
      current type is printed.	The default type is ASCII.

  user user [password] [account]
      Identifies the local user as user to the remote FTP server.  If pass-
      word or account is not specified and the remote server requires it, ftp
      prompts for it locally.  If account is required, ftp sends it to the
      remote server after the remote login process completes.

      Note that, unless autologin is disabled by specifying -n on the command
      line, this process is done automatically for the initial connection to
      the remote server.  You also need a $HOME/.netrc file in your home
      directory to issue an autologin.

  verbose
      Toggles verbose mode.  When verbose mode is on (the default), ftp
      displays all responses from the remote FTP server.  Additionally, ftp
      displays statistics on all file transfers when the transfers are com-
      pleted.

  Aborting a File Transfer

  To abort a file transfer, use the Interrupt key sequence (often ).
  Sending transfers are immediately halted.  Receiving transfers are halted
  by sending an FTP protocol ABOR command to the remote server, and discard-
  ing any further data received.  The speed at which this is accomplished
  depends upon the remote server's support for ABOR processing.	 If the
  remote server does not support the ABOR command, the prompt ftp> does not
  appear until the remote server has completed sending the requested file.

  The Interrupt key sequence is ignored when ftp has completed any local pro-
  cessing and is awaiting a reply from the remote server.  A long delay in
  this mode may result from the ABOR processing described above, or from
  unexpected behavior by the remote server, including violations of the FTP
  protocol.  If the delay results from unexpected remote server behavior, the
  local ftp program must be killed by hand.

EXAMPLES

   1.  This example shows how user smith, who is logged in on host1, can log
       in on the remote host host2, check the current working directory on
       host2 and list its contents, transfer a file, and then end the ses-
       sion.
	    $ ftp host2

       If the connection to host2 is successful, a verification message is
       displayed on the local system:
	    Connected to host2.abc.org
	    220 host2 FTP server (Version ...) ready.
	    Name (host2:smith): smith
	    Password:

       Enter your name and password when prompted by the system. A message
       similar to the following is then displayed on your local system:
	    230 User smith logged in

	    ftp> _

       To set the file transfer type to binary, enter the binary subcommand
       after the ftp> prompt:
	    ftp> binary
       A message similar to the following is displayed on your local system:
	    200 Type set to I

       To check the current working directory, enter the pwd command after
       the ftp> prompt:
	    ftp> pwd
       A message similar to the following is displayed on your local system:
	    257 "u/smith" is current directory

       To list the contents of the current working directory, enter the ls
       command after the ftp> prompt:
	    ftp> ls
       A message similar to the following is displayed on your local system:
	    200 PORT command successful.
	    150 Opening data connection for /usr/bin/ls
		    (555.5.55.555) (0 bytes)
	    printfile
	    testfile
	    226 Transfer complete.

       (The Opening data connection message appears on one line, not on two
       lines as shown above.)

       To transfer a file from the remote host to the local host, enter the
       get or mget subcommand following the ftp> prompt:
	    ftp> get testfile tmp.testfile
       A message similar to the following is displayed on your local system:
	    200 PORT command successful.
	    150 Opening data connection for testfile
		    (555.5.55.555) (1201 bytes)
	    226 Transfer complete.
	    local:tmp.testfile remote:testfile

       (The Opening data connection message appears on one line, not on two
       lines as shown above.)

       To end the ftp session, enter the quit subcommand after the ftp>
       prompt:
	    ftp> quit
	    221 Goodbye.
	    $ _


   2.  This example shows how user smith, who is logged in on host1,  can log
       in as the user smith on the remote host host2:
	    $ ftp host2

	    Connected to host2.abc.org
	    220 host2 FTP server (Version ...) ready.
	    Name (host2:smith):
	    331 Passwd required for smith
	    Password:
	    230 User smith logged in
	    ftp>


   3.  In this example, user smith makes a typing error:
	    $ ftp test

	    Connected to test.abc.org
	    220 test FTP server (Version ...) ready.
	    Name (test:fred): msith
	    530 User msith unknown
	    ftp> user smith
	    331 Passwd required for smith
	    Password:
	    230 User smith logged in
	    ftp>


   4.  In this example, user fred issues the ftp command without specifying a
       hostname, then connects to host1 using the open subcommand:
	    $ ftp
	    ftp> open host1
	    Connected to host1.abc.org
	    220 host1 FTP server (Version ...) ready.
	    Name (host1:fred):
	    331 Passwd required for fred
	    Password:
	    230 User fred logged in
	    ftp>


FILES

  $HOME/.netrc
	     Contains automatic login information.

RELATED INFORMATION

  Commands:  csh(1), ftpd(8), rcp(1), stty(1), tftp(1)

  Functions:  popen(3)

  Files:  netrc(4), iptos(4).