# Compaq TCP/IP Services for OpenVMS
User's Guide

Previous | Contents | Index

## 1.1.1 Services for Working with Files

FTP allows you to establish a session with a remote host and enter an unlimited number of commands that copy, display, or manipulate files and directories. The Anonymous FTP feature (See Section 2.3.2) allows you to connect to a remote host without specifying user authentication information. If that feature is not enabled, you must supply user authentication information for a remote host only once: when you first establish the FTP connection with a remote host. FTP allows you to determine or change the working directory on your host and on the remote host, and to perform various other operations on files and directories.

In contrast, RCP is limited to copying files. To copy files, each RCP command that you enter establishes a separate link for each file transfer with the specified remote host. With each RCP command, you must specify the remote host to or from which you want to copy files. As with FTP, RCP has a feature that allows you to connect to remote hosts without specifying user authentication information. However, if that feature is not enabled, you must enter user authentication information with each RCP command, rather than just once (as with FTP) for any number of subsequent commands for a connected host.

## 1.1.2 Services for Remote Logins

The RLOGIN, TELNET, and TN3270 services each allow you to log in to a remote host and enable your terminal to perform as if directly connected to the remote host. Use RLOGIN for simple logins in which you do not require much customization or control of the terminal-to-host interaction. Use TELNET if you want to use its extensive terminal features and controls, or if you want to open several terminal sessions with one or more remote hosts. TELNET supports a wider variety of terminal features and behaviors between disparate, otherwise incompatible, systems than RLOGIN.

Use TN3270 to connect your terminal to a remote host that supports IBM 3270 IDS terminals. TN3270 assigns IBM 3270 functions to your Compaq keyboard and allows you to redefine keys.

## 1.1.3 Services for Issuing Commands at a Remote Host

The RSH and REXEC services allow you to send any commands supported by the remote host operating system. RSH and REXEC issue one command per link. If user authentication is required, you must enter the authentication information with each command. There is no REXEC command. Rather, you invoke REXEC when you enter the RSH command with a password (RSH/PASSWORD).

Note that RLOGIN, TELNET, and TN3270 allow you to log in to a remote host once and then perform any number of commands supported by the remote host's operating system. TELNET and TN3270 also allow you to send certain commands to the connected remote host during a terminal session. However, these are a limited range of commands dealing with communication between hosts; they are not operating system commands. For example, you can send a command that aborts output or interrupts execution of a command you entered previously.

# 1.2 Client/Server Software

The user services include client and server software that communicates between host systems. Your local host includes client software that responds to your commands by requesting the appropriate services from the remote host you specify. If the remote host has the appropriate server software, the server on that host responds with the requested service.

For example, Figure 1-1 shows the interaction between the FTP local client and remote server. The FTP client requests the FTP server on `hostb` to open a connection.

Figure 1-1 FTP Client/Server Software Interacting

1. User MILTON enters an FTP CONNECT command from local host `hosta` to connect to remote host `hostb` .
2. The FTP local client sends a connection request to the FTP server on `hostb` .
3. The remote server grants the request, sending a data connection status message back to the local client.
4. The client displays at user MILTON's terminal the server connection status message and the remote host prompt for login information.

Once the connection is made, user MILTON can then log in to the remote system and use FTP to copy files and perform other related services. Note that both server and client software exist on each system supporting FTP. Thus, a user on `hostb` could connect to `hosta` and copy files to and from `hostb` .

# 1.3 User Commands

The FTP, TELNET, and TN3270 services include a wider variety of commands than do the other user services.

You can start FTP, TELNET, or TN3270 and connect to a remote host interactively in either of two ways:

- Specify the service name followed by either the Return or Enter key. The services' prompt appears, and you can then enter the CONNECT command. For example, to start FTP and connect to a remote host named FATHM, type:

      $ FTP [RETURN]
      FTP> CONNECT FATHM
         .
         .
         .

      FTP>

- Specify the service name and host name in one line, as in the following example:

      $ FTP FATHM [RETURN]
         .
         .
         .
      FTP>

In either case, you are prompted for user authentication information. (FTP includes a feature that allows you to connect to a remote host without specifying user authentication information (see Section 2.3.2).) You can also start these services by using a command procedure.

Start the Remote (R) and network printer services by specifying the appropriate command, host name, and parameters or qualifiers in one command line. If you specify the service command only (RCP, RSH, RLOGIN, PRINT, LPQ, or LPRM), the service prompts you for the information required for the command. The PRINT command supports remote printing using TCP/IP protocols and supporting the DCL PRINT qualifiers, with a few exceptions and additional features, as explained in Section 6.1.

When you enter the FINGER command without any host or user information, the command displays information about users on your local system. To display information about remote users, you need to specify the remote host name. For more details and options, see Chapter 7.

To start MAIL and then send a message to a user on another internet host, simply start OpenVMS Mail as you normally do, and use the SEND command with the Internet address of the remote host. OpenVMS Mail uses the SMTP protocol to send the mail. (See Chapter 5 for details about exceptions and alternatives.) For example:

    $ MAIL
    MAIL> send [Return]
    To: MALCOLM@PHILOS.BU.ORG [Return]
    Subj: FINAL EXAMS [Return]
       .
       .
       .

    FTP>

# 1.4 Command Syntax

Use the following rules when you type a command line:

- OpenVMS and UNIX command syntax
  Most command descriptions specify both a DCL syntax and a UNIX syntax. You can, therefore, use command lines in either syntax. For example, the following two command lines achieve the same results:

      TELNET> CONNECT BENTLEY
      TELNET> open bentley

- Keyword abbreviations
  You can abbreviate commands and qualifiers to the fewest number of characters, usually three, that uniquely identifies the keyword. For example, the following two command lines achieve the same results:

      $ RL RENT /USE=BUNNINGS
      $ RLOGIN RENT /USER_NAME=BUNNINGS

- Quotation marks
  Due to differences in OpenVMS and UNIX command syntax, some commands require quotation marks for selected keywords. These requirements apply to case sensitivity, slashes, and certain special characters (such as &, =, and \).
  UNIX is case sensitive; UNIX host names, user names, and passwords are usually lowercase. For the requirements for individual services, see the discussions about quotation marks in the following chapters:
  - Chapter 2 (FTP)
  - Chapter 3 (R commands)
  - Chapter 4 (TELNET, TN3270)
  - Chapter 5 (electronic mail (SMTP))
  - Chapter 6 (network printing)
- Names and addresses
  Unless otherwise stated, whenever you specify a host on a command line, you can use its host name, a fully qualified domain name, or its IP address. The following examples show two ways to enter the TELNET command to connect to host VENDOR at IP address 17.22.3.4.

      $ TELNET VENDOR
      Trying...17.22.3.4
      Connected to VENDOR.
      Escape character is '^]'.
      ()
      UNIX V5 (vendor.goods.igcorp.com)
      login:

  or

      $ TELNET 17.22.3.4
      Trying...17.22.3.4
      Connected to 17.22.3.4.
      Escape character is '^]'.
      ()
      UNIX V5 (vendor.goods.igcorp.com)
      login:

- File and directory names
  When you specify OpenVMS directory names and file names, follow OpenVMS file specification rules, as explained in the OpenVMS documentation. Likewise, when you specify UNIX directory names and file names, follow UNIX file specification rules, as explained in the documentation supplied with the UNIX system.
- Multiple values for parameters
  To specify multiple values for command parameters, such as host names and directories, follow these guidelines:
  - Separate elements with commas.
  - Wildcards are valid.
  - A space between multiple elements is optional.
  The following FTP GET command copies the files PROJ1.TXT and GROUP1.TXT, using a comma to separate the file names in the command line:

      FTP> GET PROJ1.TXT, GROUP1.TXT

  The following FTP GET command uses the asterisk (*) wildcard to copy all files starting with the letters "PROJ1":

      FTP> GET PROJ1*.*

- Multiple values for qualifiers
  To specify multiple values for qualifiers, enclose them in parentheses as follows:
  /qualifier=(value1,value2, value3)
  For example, the following LPRM command deletes three jobs from a remote print queue:

      $ LPRM EST_4_1997_Q /ENTRY=(555,556,558)

- Numeric values
  Unless stated otherwise, all values are decimal.
- Braces and brackets
  Command format descriptions in this manual include elements that are enclosed by braces and brackets. You should understand the meaning of the braces and brackets:
  - Braces ( { } ) --- Indicate that you must specify at least one of the enclosed values. Each element is either listed on a separate line or separated by vertical bars (|). Occasionally, you may need to specify all of the enclosed values (this case is always noted).
    Example:
    The command SET MODE requires you to specify either CHAR or LINE.
    SET MODE {CHAR}| {LINE}
  - Brackets ( [ ] ) --- Indicate that the enclosed values are optional.
    Example 1:
    The last two parameters for the TELNET CONNECT command are enclosed in brackets, which means they are optional. In this example, the port can be specified without a terminal type, and the host without a port.
    CONNECT host [ port [terminal_type ] ]
    Example 2:
    The format of the RSH command shows that all the qualifiers and the `remote_command` parameter are optional.
    RSH host
    [ /EIGHTBIT ]
    [ /ESCAPE_CHARACTER=character ]
    [ /LOG_FILE=file ]
    [ /[NO]LOWERCASE ]
    [ /PASSWORD=password ]
    [ /[NO]SYSERROR ]
    [ /TERMINAL_SPEED=n ]
    [ /TERMINAL_TYPE=type ]
    [ /[NO]TRUNCATE_USER_NAME ]
    [ /USER_NAME=remote_user_name ]
    [ remote_command ]

# 1.5 Online Help

You can access most of the introductory material in this manual on line by entering the following command:

    $ HELP TCPIP_Services

Options under this heading include introductory information about the following TCP/IP services:

    $ HELP TCPIP_Services

      Additional information available:

      Product_Overview      BIND       BOOTP      DHCP       TFTP       NTP
      SNMP       NFS        SLIP_and_PPP          Management_Tools
      UNIX_Commands         Routing    Command_Syntax        NSLOOKUP
      Programming_Interfaces           FINGER     FTP        SMTP       POP
      LPR_LPD    Remote_Commands       TELNET     RPCGEN

In addition to this overview information, you can access help on a number of specific TCP/IP commands directly at the DCL prompt by typing any of the following:

    $ HELP FINGER
    $ HELP FTP
    $ HELP LPQ
    $ HELP LPRM
    $ HELP RCP
    $ HELP REXEC
    $ HELP RLOGIN
    $ HELP RSH
    $ HELP TELNET
    $ HELP TN3270

Because TELNET, FTP, and the management commands generate their own system prompts, you need to invoke those services first to get help with specific commands, as shown in the following examples:

- FTP

      $ FTP
      FTP> HELP

- TELNET

      $ TELNET
      TELNET> HELP

- Management commands

      $ TCPIP
      TCPIP> HELP

# Chapter 2
Working with Files Using the File Transfer Protocol (FTP)

The FTP Protocol allows the transferring of data between hosts that use the same or dissimilar file systems. The FTP command is the interface to the File Transfer Protocol and provides commands that allow you to perform the following actions:

- List remote directories
- Change the current local and remote directory
- Transfer multiple files in a single request
- Create and remove directories
- Provide security by sending passwords to a remote host
- Permit automatic login, file transfer, and log off
- Preserve RMS file attributes

FTP does not allow recursive copying; that is, you cannot copy the contents of directories contained in other directories, such as using the following DCL command:

    COPY [...]*.TXT *.*

If you need this function, you can use the RCP command.

To use FTP, you need the following:

- A user account on the OpenVMS system with access to TCP/IP Services for OpenVMS
- One of the following:
  - A user account on the remote FTP host
  - Access to the remote host's ANONYMOUS user account ( Section 2.3.2)

The following table lists FTP capabilities and the sections that explain how to use them.

Capability | Section
--- | ---
Allow use of DCL or UNIX command syntax. | 2.1
Customize the way FTP processes commands and file transfers. | 2.13 2.14.2
Display all FTP commands sent to the remote host during command processing. | 2.13
Display all replies from the remote host during command processing. | 2.13
Access OpenVMS files without specifying your user name or a password. | 2.3.2
Allow use of either OpenVMS or UNIX command syntax in command procedures that use FTP. | 2.14
Set and display the default (working) directory on the local or remote host. | 2.6
Create and delete remote directories. | 2.7
View remote directories. | 2.5
Delete a remote file. | 2.9
Rename a remote file. | 2.9
Append a local file to a remote file. | 2.11
Display the contents of a file on a remote host. | 2.10
Copy files from a connected remote host to your local host. | 2.8.1
Copy files from your local host to the connected remote host. | 2.8.2
Preserve OpenVMS file attributes when copying files to a UNIX system and back again. | 2.8.5
Copy files to and from a DECnet node. | 2.15
Suspend FTP to spawn a subprocess at the DCL prompt. | 2.12

Table 2-1 lists and describes FTP commands. (For complete command descriptions, see Section 2.16).

Table 2-1 FTP Command Summary
DCL Command | Equivalent UNIX Command | Description
--- | --- | ---
Starting and Exiting (at the DCL Prompt)
FTP | `ftp` | Invokes FTP.
FTP remote_host | `ftp` remote_host | Invokes FTP and establishes a connection to a remote host.
Starting and Exiting (at the FTP> Prompt)
CONNECT | `open` | Establishes a connection to a remote host.
DISCONNECT | `close` | Closes the connection with a remote host.
EXIT Ctrl/Z | `quit or bye` | Closes the connection with a remote host and exits FTP.
Sending Commands to the Remote Host
APPEND | `append` | Concatenates a local file to a remote file.
CREATE/DIRECTORY | `mkdir` | Creates a remote directory.
DELETE | `delete` `mdelete` | Deletes remote files.
DIRECTORY | `ls` | Lists remote file names and related information.
GET | `get` `mget` | Copies files from the remote host to the local host.
LOGIN | `user` | Logs you in to a remote host.
PUT | `put` `mput` | Copies files from the local host to the remote host.
RENAME | `rename` | Changes file names on remote systems.
SET DEFAULT SET DEFAULT/LOCAL | `cd` `lcd` | Sets the remote working directory or the local working directory.
SHOW DEFAULT SHOW DEFAULT/LOCAL | `pwd` `lpwd` | Displays the name of the remote current working directory or the local working directory.
VIEW | `view` | Displays the contents of a file on the current output device.
Suspending FTP to Return to DCL Prompt
SPAWN | `!` | Suspends FTP to create a subprocess at the local DCL prompt.
Customizing Your Session's Environment
DISABLE LOG | `debug` + | Disables the display of all the protocol commands sent to the remote host.
DISABLE PARSE | `glob` + | Disables the expansion of file names.
DISABLE PORT_COMMAND | `sendport` + | Disables the sending of the FTP protocol PORT command.
DISABLE REPLY | N/A | Disables the display of all responses from the remote host.
DISABLE TRANSFER_VERIFICATION | `hash` + | Disables the display of the pound sign `(#)` for each 1K bytes of data transferred.
DISABLE VMS_PLUS | N/A | Disables the special OpenVMS-to-OpenVMS transfer mode.
ENABLE LOG | `debug` + | Enables the display of protocol commands sent to the remote host.
ENABLE PARSE | `glob` + | Enables the expansion of file names.
ENABLE PORT_COMMAND | `sendport` + | Enables the sending of the FTP protocol PORT command.
ENABLE REPLY | N/A | Enables the display of responses from the remote host.
ENABLE TRANSFER_VERIFICATION | `hash` + | Enables the display of the pound `#` sign for each 1K bytes of data transferred.
ENABLE VMS_PLUS | N/A | Enables the OpenVMS-to-OpenVMS transfer mode.
HELP | `?` | Invokes help.
QUOTE | `quote` | Sends FTP commands to the remote host without local interpretation.
SET TYPE | `type` | Defines the data representation for file transfers.
SHOW STATUS | `status` | Displays the current FTP parameter settings and, if you have an open connection, the name of the connected host.
SPAWN | `!` | Starts a subprocess at the DCL prompt.

+This command toggles the value between enabled and disabled.

Previous | Next | Contents | Index