tip - connect to remote system
tip [ -v ] [ -speed-entry ] hostname | phone-number
tip establishes a full-duplex terminal connection to a remote host.
Once the connection is established, a remote session using tip behaves
like an interactive session on a local terminal.
The remote file (described in the remote(5) manual page) contains
entries describing remote systems and line speeds used by tip.
Each host has a default baud rate for the connection, or you can spec-
ify a speed with the -speed-entry command line argument.
When phone-number is specified, tip looks for an entry in the remote
file of the form:
When it finds such an entry, it sets the connection speed accordingly.
If it finds no such entry, tip interprets -speed-entry as if it were a
system name, resulting in an error message.
If you omit -speed-entry, tip uses the tip0 entry to set a speed for
When establishing the connection tip sends a connection message to the
remote system. The default value for this message can be found in the
When tip attempts to connect to a remote system, it opens the associ-
ated device with an exclusive-open ioctl(2) call. Thus only one user
at a time may access a device. This is to prevent multiple processes
from sampling the terminal line. In addition, tip honors the locking
protocol used by uucp(1C).
When tip starts up it reads commands from the file .tiprc in your home
-v Display commands from the .tiprc file as they are executed.
Typed characters are normally transmitted directly to the remote
machine (which does the echoing as well).
At any time that tip prompts for an argument (for example, during setup
of a file transfer) the line typed may be edited with the standard
erase and kill characters. A null line in response to a prompt, or an
interrupt, aborts the dialogue and returns you to the remote machine.
A tilde (~) appearing as the first character of a line is an escape
signal which directs tip to perform some special action. tip recog-
nizes the following escape sequences:
~. Drop the connection and exit (you may still be logged in on the
Change directory to name (no argument implies change to your
~! Escape to an interactive shell on the local machine (exiting the
shell returns you to tip).
~>> Copy file from local to remote.
~<< Copy file from remote to local.
~p from [ to ]
Send a file to a remote host running the UNIX system. When you
use the put command, the remote system runs the command string
cat >> to
while tip sends it the from file. If the to file is not speci-
fied, the from file name is used. This command is actually a
UNIX-system-specific version of the `~>>' command.
~t from [ to ]
Take a file from a remote host running the UNIX system. As in
the put command the to file defaults to the from file name if it
is not specified. The remote host executes the command string
cat from; echo ^A
to send the file to tip.
~| Pipe the output from a remote command to a local process. The
command string sent to the local system is processed by the
~C Connect a program to the remote machine. The command string
sent to the program is processed by the shell. The program
inherits file descriptors 0 as remote line input, 1 as remote
line output, and 2 as tty standard error.
~$ Pipe the output from a local process to the remote host. The
command string sent to the local system is processed by the
~# Send a BREAK to the remote system.
~s Set a variable (see the discussion below).
~^Z Stop tip (only available when run under a shell that supports
job control, such as the C shell).
~^Y Stop only the "local side" of tip (only available when run under
a shell that supports job control, such as the C shell); the
"remote side" of tip, the side that displays output from the
remote host, is left running.
~? Get a summary of the tilde escapes.
Copying files requires some cooperation on the part of the remote host.
When a ~>> or ~<< escape is used to send a file, tip prompts for a file
name (to be transmitted or received) and a command to be sent to the
remote system, in case the file is being transferred from the remote
system. The default end of transmission string for transferring a file
from the local system to the remote is specified as the oe capability
in the remote(5) file, but may be changed by the set command. While
tip is transferring a file the number of lines transferred will be con-
tinuously displayed on the screen. A file transfer may be aborted with
tip may be used to dial up remote systems using a number of auto-call
unit's (ACU's). When the remote system description contains the du
capability, tip uses the call-unit (cu), ACU type (at), and phone num-
bers (pn) supplied. Normally tip displays verbose messages as it
dials. See remote(5) for details of the remote host specification.
Depending on the type of auto-dialer being used to establish a connec-
tion the remote host may have garbage characters sent to it upon con-
nection. The user should never assume that the first characters typed
to the foreign host are the first ones presented to it. The recom-
mended practice is to immediately type a kill character upon establish-
ing a connection (most UNIX systems either support @ or CTRL-U as the
initial kill character).
tip currently supports the Ventel MD-212+ modem and DC Hayes-compatible
REMOTE HOST DESCRIPTIONS
Descriptions of remote hosts are normally located in the system-wide
file /etc/remote. However, a user may maintain personal description
files (and phone numbers) by defining and exporting the REMOTE shell
variable. The remote file must be readable by tip, but a secondary
file describing phone numbers may be maintained readable only by the
user. This secondary phone number file is /etc/phones, unless the
shell variable PHONES is defined and exported. As described in
remote(5), the phones file is read when the host description's phone
number(s) capability is an `@'. The phone number file contains lines
of the form:
Each phone number found for a system is tried until either a connection
is established, or an end of file is reached. Phone numbers are con-
structed from `0123456789-=*', where the `=' and `*' are used to indi-
cate a second dial tone should be waited for (ACU dependent).
TIP INTERNAL VARIABLES
tip maintains a set of variables which are used in normal operation.
Some of these variables are read-only to normal users (root is allowed
to change anything of interest). Variables may be displayed and set
through the ~s escape. The syntax for variables is patterned after
vi(1) and mail(1). Supplying all as an argument to the ~s escape dis-
plays all variables that the user can read. Alternatively, the user
may request display of a particular variable by attaching a ? to the
end. For example `~s escape?' displays the current escape character.
Variables are numeric, string, character, or Boolean values. Boolean
variables are set merely by specifying their name. They may be reset
by prepending a ! to the name. Other variable types are set by
appending an = and the value. The entire assignment must not have any
blanks in it. A single set command may be used to interrogate as well
as set a number of variables.
Variables may be initialized at run time by placing set commands (with-
out the ~s prefix) in a .tiprc file in one's home directory. The -v
option makes tip display the sets as they are made. Comments preceded
by a # sign can appear in the .tiprc file.
Finally, the variable names must either be completely specified or an
abbreviation may be given. The following list details those variables
known to tip.
(bool) Discard unprintable characters when a session is being
scripted; abbreviated be. If the nb capability is present,
beautify is initially set to off; otherwise, beautify is ini-
tially set to on.
(num) The baud rate at which the connection was established;
abbreviated ba. If a baud rate was specified on the command
line, baudrate is initially set to the specified value; other-
wise, if the br capability is present, baudrate is initially set
to the value of that capability; otherwise, baudrate is set to
300 baud. Once tip has been started, baudrate can only changed
by the super-user.
(num) When dialing a phone number, the time (in seconds) to wait
for a connection to be established; abbreviated dial. dialtime-
out is initially set to 60 seconds, and can only changed by the
(str) The string to send to the remote host to disconnect from
it; abbreviated di. If the di capability is present, disconnect
is initially set to the value of that capability; otherwise,
disconnect is set to a null string ("").
(bool) Synchronize with the remote host during file transfer by
waiting for the echo of the last character transmitted; abbrevi-
ated ec. If the ec capability is present, echocheck is ini-
tially set to on; otherwise, echocheck is initially set to off.
(str) The set of characters which signify an end-of-transmission
during a ~<< file transfer command; abbreviated eofr. If the ie
capability is present, eofread is initially set to the value of
that capability; otherwise, eofread is set to a null string
(str) The string sent to indicate end-of-transmission during a
~>> file transfer command; abbreviated eofw. If the oe capabil-
ity is present, eofread is initially set to the value of that
capability; otherwise, eofread is set to a null string ("").
eol (str) The set of characters which indicate an end-of-line. tip
will recognize escape characters only after an end-of-line. If
the el capability is present, eol is initially set to the value
of that capability; otherwise, eol is set to a null string ("").
escape (char) The command prefix (escape) character; abbreviated es.
If the es capability is present, escape is initially set to the
value of that capability; otherwise, escape is set to `~'.
(num) The amount of time, in seconds, that tip should wait for
the echo-check response when echocheck is set; abbreviated et.
If the et capability is present, etimeout is initially set to
the value of that capability; otherwise, etimeout is set to 10
(str) The set of characters which should not be discarded due to
the beautification switch; abbreviated ex. If the ex capability
is present, exceptions is initially set to the value of that
capability; otherwise, exceptions is set to `\t\n\f\b'.
force (char) The character used to force literal data transmission;
abbreviated fo. If the fo capability is present, force is ini-
tially set to the value of that capability; otherwise, force is
set to \377 (which disables it).
(num) The amount of data (in bytes) to buffer between file sys-
tem writes when receiving files; abbreviated fr. If the fs
capability is present, framesize is initially set to the value
of that capability; otherwise, framesize is set to 1024.
(bool) Do local echoing because the host is half-duplex; abbre-
viated hdx. If the hd capability is present, halfduplex is ini-
tially set to on; otherwise, halfduplex is initially set to off.
(bool) Do hardware flow control; abbreviated hf. If the hf
capability is present, hardwareflow is initially set to on; oth-
erwise, hardwareflowcontrol is initially set to off.
host (str) The name of the host to which you are connected; abbrevi-
ated ho. host is permanently set to the name given on the com-
mand line or in the HOST environment variable.
(bool) A synonym for halfduplex; abbreviated le.
log (str) The name of the file to which to log information about
outgoing phone calls. log is initially set to /var/adm/aculog,
and can only be inspected or changed by the super-user.
parity (str) The parity to be generated and checked when talking to the
remote host; abbreviated par. The possible values are:
zero Parity is not checked on input, and the parity bit
is set to zero on output.
one Parity is not checked on input, and the parity bit
is set to one on output.
even Even parity is checked for on input and generated
odd Odd parity is checked for on input and generated
If the pa capability is present, parity is initially set to the
value of that capability; otherwise, parity is set to none.
phones The file in which to find hidden phone numbers. If the environ-
ment variable PHONES is set, phones is set to the value of
PHONES; otherwise, phones is set to /etc/phones. The value of
phones cannot be changed from within tip.
prompt (char) The character which indicates an end-of-line on the
remote host; abbreviated pr. This value is used to synchronize
during data transfers. The count of lines transferred during a
file transfer command is based on receipt of this character. If
the pr capability is present, prompt is initially set to the
value of that capability; otherwise, prompt is set to \n.
raise (bool) Upper case mapping mode; abbreviated ra. When this mode
is enabled, all lower case letters will be mapped to upper case
by tip for transmission to the remote machine. If the ra capa-
bility is present, raise is initially set to on; otherwise,
raise is initially set to off.
(char) The input character used to toggle upper case mapping
mode; abbreviated rc. If the rc capability is present,
raisechar is initially set to the value of that capability; oth-
erwise, raisechar is set to \377 (which disables it).
rawftp (bool) Send all characters during file transfers; do not filter
non-printable characters, and do not do translations like \n to
\r. Abbreviated raw. If the rw capability is present, rawftp
is initially set to on; otherwise, rawftp is initially set to
record (str) The name of the file in which a session script is
recorded; abbreviated rec. If the re capability is present,
record is initially set to the value of that capability; other-
wise, record is set to tip.record.
remote The file in which to find descriptions of remote systems. If
the environment variable REMOTE is set, remote is set to the
value of REMOTE; otherwise, remote is set to /etc/remote. The
value of remote cannot be changed from within tip.
script (bool) Session scripting mode; abbreviated sc. When script is
on, tip will record everything transmitted by the remote machine
in the script record file specified in record. If the beautify
switch is on, only printable ASCII characters will be included
in the script file (those characters between 040 and 0177). The
variable exceptions is used to indicate characters which are an
exception to the normal beautification rules. If the sc capa-
bility is present, script is initially set to on; otherwise,
script is initially set to off.
(bool) Expand TAB characters to SPACE characters during file
transfers; abbreviated tab. When tabexpand is on, each tab is
expanded to 8 SPACE characters. If the tb capability is
present, tabexpand is initially set to on; otherwise, tabexpand
is initially set to off.
tandem (bool) Use XON/XOFF flow control to limit the rate that data is
sent by the remote host; abbreviated ta. If the nt capability
is present, tandem is initially set to off; otherwise, tandem is
initially set to on.
(bool) Verbose mode; abbreviated verb; When verbose mode is
enabled, tip prints messages while dialing, shows the current
number of lines transferred during a file transfer operations,
and more. If the nv capability is present, verbose is initially
set to off; otherwise, verbose is initially set to on.
SHELL (str) The name of the shell to use for the ~! command; default
value is /bin/sh, or taken from the environment.
HOME (str) The home directory to use for the ~c command; default
value is taken from the environment.
An example of the dialogue used to transfer files is given below.
arpa% tip monet
...(assume we are talking to a UNIX system)...
ucbmonet login: sam
monet% cat >> sylvester.c
~>> Filename: sylvester.c
32 lines transferred in 1 minute 3 seconds
monet% ~<< Filename: reply.c
List command for remote host: cat reply.c
65 lines transferred in 2 minutes
monet% ~p sylvester.c
...(actually echoes as ~[put] sylvester.c)...
32 lines transferred in 1 minute 3 seconds
monet% ~t reply.c
...(actually echoes as ~[take] reply.c)...
65 lines transferred in 2 minutes
...(to print a file locally)...
monet% ~|Local command: pr -h sylvester.c | lpr
List command for remote host: cat sylvester.c
...(back on the local system)...
The following environment variables are read by tip.
REMOTE The location of the remote file.
PHONES The location of the file containing private phone numbers.
HOST A default host to connect to.
HOME One's log-in directory (for chdirs).
SHELL The shell to fork on a `~!' escape.
~/.tiprc initialization file
/var/spool/locks/LCK ..* lock file to avoid conflicts with UUCP
/var/adm/aculog file in which outgoing calls are logged
cu(1C), mail(1), uucp(1C), vi(1), ioctl(2), phones(5), remote(5)
There are two additional variables chardelay and linedelay that are
currently not implemented.
16 August 1988 TIP(1C)