2.9BSD/usr/net/man/man1/tip.1c

.TH TIP 1C "18 January 1983"
.UC 4
.SH NAME
tip \- connect to a remote system
.SH SYNOPSIS
.B tip
[
.B \-v
] [
.BI \- speed
] system-name
.SH DESCRIPTION
.I Tip
establishes a full-duplex connection to another machine,
giving the appearance of being logged in directly on the
remote cpu.  It goes without saying that you must have a login
on the machine (or equivalent) to which you wish to connect.
.PP
Typed characters are normally transmitted directly to the remote
machine (which does the echoing as well).  A tilde (``~'')
appearing as the first character of a line is an escape signal;
the following are recognized:
.TP 10
.B ~^D ~.
Drop the connection and exit
(you may still be logged in on the
remote machine).
.TP 10
\fB~c \fP [\fIname\fP]
Change directory to name (no argument
implies change to your home directory).
.TP 10
.B ~!
Escape to a shell (exiting the shell will
return you to tip).
.TP 10
.B ~>
Copy file from local to remote.
.TP 10
.B ~<
Copy file from remote to local.
.TP 10
\fB~p\fP \fIfrom\fP [ \fIto\fP ]
Send a file to a remote UNIX host.  The put command causes the remote UNIX
system to run the command string ``cat > 'to''', while
.I tip
sends it the ``from''
file.  If the ``to'' file isn't specified the ``from'' file name is used.
This command is actually a UNIX specific version of the ``~>'' command.
.TP 10
\fB~t\fP \fIfrom\fP [ \fIto\fP ]
Take a file from a remote UNIX host. 
As in the put command the ``to'' file
defaults to the ``from'' file name if it isn't specified. 
The remote host
executes the command string ``cat 'from';echo ^A'' to send the file to
.IR tip .
.TP 10
.B ~|
Pipe the output from a remote command to a local UNIX process.
The command string sent to the local UNIX system is processed by the shell.
.TP 10
.B ~#
Send a BREAK to the remote system. 
For systems which don't support the
necessary
.I ioctl
call the break is simulated by a sequence of line speed changes
and DEL characters.
.TP 10
.B ~s
Set a variable (see the discussion below).
.TP 10
.B ~^Z
Stop
.I tip
(only available with job control).
.TP 10
.B ~?
Get a summary of the tilde escapes
.sp
.PP
Copying files requires some cooperation on the part of the remote host.
When a ~> or ~< escape is used to send a file,
.I tip
will prompt
for a file name (to be transmitted or received) and a command
which will 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 in the
.IR remote (5)
file, but may be changed by the set command.  While
.I tip
is transferring a file the number of lines transferred will be continuously
displayed on the screen. 
A file transfer may be aborted with an interrupt.
An example of the dialogue used to transfer
files is given below (input typed by the user is
shown in bold face).
.sp
.RS
.nf
arpa% \fBtip monet\fP
[connected]
\&...(\fIassume we are talking to another UNIX system\fP)...
ucbmonet login: \fBsam\fP
Password:
monet% \fBcat > foo.c\fP
\fB~>\fP Filename: \fBfoo.c\fP
32 lines transferred in 1 minute 3 seconds
monet%
monet% \fB~<\fP Filename: \fBreply.c\fP
List command for remote host: \fBcat reply.c\fP
65 lines transferred in 2 minutes
monet%
\&...(\fIor, equivalently\fP)...
monet% \fB~p foo.c\fP
\&...(\fIactually echo's as ~[put] foo.c\fP)...
32 lines transferred in 1 minute 3 seconds
monet%
monet% \fB~t reply.c\fP
\&...(\fIactually echo's as ~[take] reply.c\fP)...
65 lines transferred in 2 minutes
monet%
\&...(\fIto print a file locally\fP)...
monet% \fB~|\fPLocal command: \fBpr -h foo.c | lpr\fP
List command for remote host: \fBcat foo.c\fP
monet% \fB~^D\fP
[EOT]
\&...(\fIback on the local system\fP)...
.fi
.RE
.PP
The
.IR remote (5)
file contains the definitions for remote
systems known by
.IR tip ;
refer to the remote manual page for a full description.
Each system has a default baud rate with which to
establish a connection.  If this value is not suitable, the baud rate
to be used may be specified on the command line, e.g. ``tip -300 mds''.
.PP
When
.I tip
establishes a connection it sends out a
connection message to the remote system.  The default value for
this string may be found in the remote file.
.PP
At any time that
.I tip
prompts for an argument (e.g. 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, will abort the dialogue and return you to the
remote machine.
.PP
When
.I tip
attempts to connect to a remote system, it opens the
associated device with an exclusive-open
.IR 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,
.I tip
honors the locking protocol used by
.IR uucp (1C).
.PP
.SM
.B AUTO-CALL UNITS
.PP
.I 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'' attribute,
tip will use the call-unit (``cu''), ACU type (``at''), and phone numbers
(``pn'') supplied.  Normally tip will print out the verbose messages as
it dials.  See
.IR remote (5)
for details of the remote host specification.
.PP
Depending on the type of auto-dialer being used to establish a connection
the remote host may have garbage characters sent to it upon connection.
The user should never assume that the first characters typed to
the foreign host are the first ones presented to it.  The recommended
practice is to immediately type a ``kill'' character upon establishing
a connection (most UNIX systems support ``@'' as the initial kill
character).
.PP
.I Tip
currently supports the DEC DN-11, DF02, and DF03 interfaces; and
Bizcomp 1031 and 1032 interfaces.
.PP
.SM
.B REMOTE HOST DESCRIPTIONS
.PP
Descriptions of remote hosts are normally located in the system-wide
file
.IR /etc/remote .
However, a user may maintain personal description files (and phone numbers)
by defining and exporting the shell variable
.SM
.BR REMOTE .
The
.I remote
file must be readable by
.IR tip ,
but a secondary file describing phone numbers
may be maintained readable only by the user.  This secondary phone number
file defaults to
.IR /etc/phones ,
unless the shell variable
.SM
.B PHONES
is defined and exported.
As described in
.IR remote (5),
the
.I phones
file is read when the host description's phone number(s) capability is
an ``@''.  The phone number file contains lines of the form:
.sp
.ti +0.5i
system-name    phone-number
.sp
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
constructed from ``0123456789-=*'', where the ``='' and ``*'' are used
to indicate a second dial tone should be waited for (ACU dependent).
.PP
.SM
.B VARIABLES
.PP
.I Tip
maintains a set of variables which are used in normal operation.
Some of these variable 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
.IR vi (1)
and
.IR Mail (1).
Supplying ``all''
as an argument to the set command displays all variables readable by
the user.  Alternatively, the user may request display of a particular
variable by attaching a ``?'' to the end.  For example ``escape?''
displays the current escape character.
.PP
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
(without the ``~s'' prefix in a file
.I .tiprc
in one's home directory).  The
.B \-v
option causes
.I tip
to display the sets as they are made.
.PP
Finally, the variable names must either be completely specified or
an abbreviation may be given.  The following list details those
variables known to
.IR tip ,
their abbreviations (surrounded by brackets), and their default values.
Those variables initialized from the remote file are marked with
a ``*''.  A mode is given for each variable;
capitalization indicates the read or write capability is given only
to the super-user.
.ta \w'[dial]timeout  'u +\w'Type  'u +\w'Mode  'u +\w'/usr/adm/aculog  'u
.nf
.sp
\fBVariable	Type	Mode	Default	Description\fR
[be]autify	bool	rw	true	discard unprintables when scripting
[ba]udrate	num	rW	*	connection baud rate
[dial]timeout	num	rW	60	timeout (seconds) when establishing connection
[eofr]ead	str	rw	*	char's signifying EOT from the remote host
[eofw]rite	str	rw	*	string sent for EOT
[eol]   	str	rw	*	end of line indicators
[es]cape	char	rw	`~'	command prefix character
[ex]ceptions	str	rw	``\et\en\ef\eb''	char's not discarded due to beautification
[fo]rce  	char	rw	`^P'	force character
[fr]amesize	num	rw	*	size of buffering between writes on reception
[ho]st  	str	r	*	name of host connected to
[lock]  	str	RW	/tmp/aculock	lock file for ACU logging
[log]   	str	RW	/usr/adm/aculog	ACU log file
[phones]	str	r	/etc/phones	file for hidden phone numbers
[pr]ompt	char	rW	`\en'	end of line indicator set by host
[ra]ise  	bool	rw	false	upper case mapping switch
[r]aise[c]har	char	rw	`^A'	interactive toggle for raise
[rec]ord	str	rw	``tip.record''	name of script output file
[remote]	str	r	/etc/remote	system description file
[sc]ript	bool	rw	false	session scripting switch
[tab]expand	bool	rw	false	expand tabs during file transfers
[verb]ose	bool	rw	true	make noise during file transfers
[SHELL]  	str	rw	``/bin/sh''	name of shell for ~! escape
[HOME]  	str	rw	``''	home directory for ~c escape
.sp
.fi
.PP
.SM
.B ENVIRONMENT VARIABLES
.PP
The following variables are read from the environment:
.TP 10
.SM
.B REMOTE
The location of the
.I remote
file.
.TP 10
.SM
.B PHONES
The location of the file containing private phone numbers.
.TP 10
.SM
.B HOST
A default host to connect to.
.TP 10
.B HOME
One's log-in directory (for chdirs).
.TP 10
.SM
.B SHELL
The shell to fork on a ``~!'' escape.
.SH FILES
.DT
~/.tiprc	initialization file.
.br
/usr/spool/uucp/LCK..*	lock file to avoid conflicts with
.IR uucp
.SH DIAGNOSTICS
``\fIbizcomp out of sync\fP''\ \ 
when using a BIZCOMP ACU the dialer must be ``synced'' up before
.I tip
will attempt to place a call; try running
.I tip
again.
.br
``\fImissing device spec\fP''\ \ 
the remote host description entry is missing a device specification
.br
``\fItimedout at eol n\fP''\ \ 
during a file transfer
.I tip
has lost contact with the remote
system while waiting for a synchronizing echo
.br
``\fItimeout error\fP''\ \ 
same as above
.PP
Other diagnostics are, hopefully, self explanatory.
.SH "SEE ALSO"
remote(5),
phones(5)