手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

tip(1)

名称

tip - 连接至远程系统

用法概要

tip [-v] [-speed-entry] {hostname | phone-number | device}

描述

tip 实用程序可建立到远程主机的全双工终端连接。建立连接后,使用 tip 的远程会话行为将类似本地终端上的交互式会话。

remote 文件包含描述 tip 使用的远程系统和线速的条目。

每个主机都具有缺省连接波特率,或者可以使用 speed-entry 命令行参数指定一个速度。

指定了 phone-number 后,tip 将在 remote 文件中查找以下格式的条目:

tip -speed-entry

tip 找到此类条目时,其将设置相应的连接速度。如果未找到此类条目,tip 会将 speed-entry 当做系统名进行解释,从而导致错误消息。

如果省略 speed-entrytip 将使用 tip0 条目设置连接速度。

指定了 device 后,tip 将尝试使用用户的访问特权打开该设备,而不是通过 tip 的常用访问特权 (setuid uucp)。 用户必须对此设备具有读取/写入权限。tip 实用程序会将任何以反斜杠字符 ( / ) 开头的字符串解释为设备名。

建立连接时,tip 将向远程系统发送连接消息。该消息的缺省值位于 remote 文件中。

tip 尝试连接至远程系统时,其将使用以独占方式打开的 ioctl(2) 调用打开关联设备。 因此,一次仅能一位用户访问设备。这可以防止多个进程对终端线抽样。此外,tip 遵循 uucp(1C) 使用的锁定协议。

tip 启动后,其将从主目录中的文件 .tiprc 读取命令。

选项

–v

随着执行 .tiprc 文件的命令来显示这些命令。

用法

键入的字符通常会直接传输至远程计算机,此计算机也会执行回显操作。

无论何时 tip 提示需要参数(例如,文件传输设置期间),都可以使用标准清除和删除字符对键入的行进行编辑。对提示做出响应的空行或中断都将中止对话并将您返回至远程计算机。

命令

作为某行的第一个字符显示的波浪号 (~) 是转义信号,其将指示 tip 执行一些特殊操作。tip 可识别以下转义序列:

~^D
~.

丢弃连接并退出(您可能仍登录在远程计算机上)。请注意:如果执行 rlogin,然后在远程主机上运行 tip,必须键入 ~~.(波浪线波浪线点)以结束 tip 会话。如果键入 ~.(波浪线点),其将终止 rlogin。

~c [name]

将目录更改为 name。 无参数表示更改至主目录。

~!

退回到本地计算机上的交互式 shell。退出 shell 会将您返回至 tip

~>

将文件从本地复制到远程。

~<

将文件从远程复制到本地。

~p from [ to ]

将文件发送到运行 UNIX 系统的远程主机。使用 put 命令时,远程系统将在

cat > to

tip 向其发送 from 文件时运行该命令字符串。 如果未指定 to 文件,将使用 from 文件名。该命令实际是一个 UNIX 系统特定版本的 "~>" 命令。

~t from [ to ]

从运行 UNIX 系统的远程主机获取文件。如在 put 命令中一样,如果未指定 to 文件,其缺省为 from 文件名。远程主机将执行以下命令字符串

cat from ;  echo ^A

以将文件发送至 tip

~|

将输出从远程命令管道传输至本地进程。发送至本地系统的命令字符串由 shell 进行处理。

~C

将程序连接至远程计算机。发送至该程序的命令字符串由 shell 进行处理。程序将文件描述符 0 继承为远程行输入,将 1 继承为远程行输出,将 2 继承为 tty 标准错误输出。

~$

将输出从本地进程管道传输至远程主机。发送至本地系统的命令字符串由 shell 进行处理。

~#

将 BREAK 发送至远程系统。

~s

设置变量(请参见以下讨论)。

~^Z

停止 tip。 只有在支持作业控制的 shell(如 C shell)下运行时才可用。

~^Y

仅停止 tip 的“本地端”。 只有在支持作业控制的 shell(如 C shell)下运行时才可用。保留运行 tip 的“远程端”,即显示来自远程主机的输出的一端。

~?

获取波浪线转义符的摘要。

复制文件需要远程主机提供一些协作。当使用 ~>~< 转义符发送文件时,tip 将提示输入(要传输或接收的)文件名,如果正从远程系统传输文件,则将向远程系统发送一条命令。tip 传输文件时,已传输的行数将持续显示在屏幕上。文件传输可以因为中断而中止。

自动呼叫单元

通过一些自动呼叫单元 (auto-call unit, ACU),可使用 tip 对远程系统进行拨号。 远程系统说明包含 du 功能时,tip 使用呼叫单元 (cu)、ACU 类型 (at) 和提供的电话号码 (pn)。通常情况下,tip 将在其拨号时显示详细的消息。

根据用于建立连接的自动拨号程序的类型,远程主机可能会在连接时向其发送一些乱码。请始终不要认为向外部主机键入的第一个字符就是显示给其的第一个字符。推荐的做法是在建立连接时立即键入一个 kill 字符(大多数 UNIX 系统既支持 @ 也支持 Control-U 作为初始 kill 字符)。

tip 当前支持 Ventel MD-212+ 调制解调器和 DC Hayes 兼容的调制解调器。

tip 初始化 Hayes 兼容的调制解调器以进行拨号时,其会将该调制解调器设置为自动应答。通常情况下,会话完成后,tip 将丢弃 DTR,这将导致该调制解调器“挂起”。

大多数调制解调器可进行配置,以便在 DTR 丢弃时,这些调制解调器可以将自身重新初始化为预编程状态。这可用于重置调制解调器并禁用自动应答(如果需要)。

此外,可以使用 Hayes S 命令启动电话号码,以便可以在拨号前配置调制解调器。例如,要禁用自动应答,可使用诸如 pn=S0=0DT5551212 的设置在 /etc/remote 中设置所有电话号码。S0=0 将禁用自动应答。

远程主机描述

远程主机的描述通常位于系统范围文件 /etc/remote 中。 然而,用户可以通过定义和导出 REMOTE shell 变量维护个人描述文件(和电话号码)。remote 文件必须可由 tip 读取,但描述电话号码的辅助文件则可以保持仅可由用户读取。该辅助电话号码文件是 /etc/phones,除非定义并导出了 shell 变量 PHONES。该电话号码文件包含以下格式的行:

system-name phone-number

针对系统找到的每个电话号码都会进行试拨,直至建立连接,或到达文件结尾。电话号码构造自 `0123456789−=*',其中 `=' 和 `*' 用于指示应等待的第二个拨号音(取决于 ACU)。

tip 内部变量

tip 维护一组用于正常运行的变量。其中一些变量对于普通用户是只读的(root 用户可以根据需要更改任何变量)。可以通过 ~s 转义符显示和设置变量。变量的语法仿效 vi(1)mail(1)。 将 all 作为参数提供给 ~s 转义符将显示用户可以读取的所有变量。或者,用户可以通过将 ? 附加到末尾请求显示特定变量。例如,`~s escape?' 将显示当前转义符。

变量可以是数字 (num)、字符串 (str)、字符 (char) 或布尔 (bool) 值。布尔变量只能通过指定其名称进行设置。它们可以通过在名称前加上 ! 进行重置。其他变量类型通过附加 = 和值进行设置。整个赋值中不得包含任何空白。可使用单个 set 命令询问以及设置一些变量。

通过将 set 命令(没有 ~s 前缀)放入某人的主目录中的 .tiprc 文件中,可以在运行时初始化变量。通过 –v 选项,tip 可以随着进行设置而显示这些设置。前面有 # 符号的注释可显示在 .tiprc 文件中。

最后,必须指定完整的变量名或者可以提供缩写。下表详细列出了对于 tip 已知的变量。

beautify

(bool) 编写会话脚本时废弃不可打印的字符;缩写为 be。 如果提供了 nb 功能,则 beautify 初始设置为 off。 否则,beautify 初始设置为 on

baudrate

(num) 建立连接所用的波特率;缩写为 ba。 如果在命令行上指定了波特率,则 baudrate 初始设置为该指定值。或者,如果提供了 br 功能,则 baudrate 初始设置为该功能的值。否则,将 baudrate 设置为 300 波特。启动 tip 后,baudrate 只可由超级用户更改。

dialtimeout

(num) 拨电话号码时,等待连接建立的时间(以秒为单位);缩写为 dialdialtimeout 初始设置为 60 秒,并只可由超级用户更改。

disconnect

(str) 发送至远程主机以从其断开连接的字符串;缩写为 di。 如果提供了 di 功能,则 disconnect 初始设置为该功能的值。否则,将 disconnect 设置为空字符串 ("")。

echocheck

(bool) 通过等待传输的最后一个字符的回显,在文件传输期间与远程主机同步;缩写为 ec。 如果提供了 ec 功能,则 echocheck 初始设置为 on。 否则,echocheck 初始设置为 off

eofread

(str) 表示 ~< 文件传输命令期间传输结束的字符集合;缩写为 eofr。 如果提供了 ie 功能,则 eofread 初始设置为该功能的值。否则,将 eofread 设置为空字符串 ("")。

eofwrite

(str) 发送以指示 ~> 文件传输命令期间传输结束的字符串;缩写为 eofw。如果提供了 oe 功能,则 eofread 初始设置为该功能的值。否则,将 eofread 设置为空字符串 ("")。

eol

(str) 指示行结束的字符集合。tip 仅识别行结束之后的转义符。如果提供了 el 功能,则 eol 初始设置为该功能的值。否则,将 eol 设置为空字符串 ("")。

escape

(char) 命令前缀(转义)字符;缩写为 es。 如果提供了 es 功能,则 escape 初始设置为该功能的值。否则,将 escape 设置为 ` ~ '。

etimeout

(num) 设置了 echocheck 后,tip 应等待回显检查响应的时间量(以秒为单位);缩写为 et。 如果提供了 et 功能,则 etimeout 初始设置为该功能的值。否则,将 etimeout 设置为 10 秒。

exceptions

(str) 由于美化开关而不应丢弃的字符集合;缩写为 ex。 如果提供了 ex 功能,则 exceptions 初始设置为该功能的值。否则,将 exceptions 设置为 `\t\n\f\b'。

force

(char) 用于强制执行文字数据传输的字符;缩写为 fo。 如果提供了 fo 功能,则 force 初始设置为该功能的值。否则,将 force 设置为 \377(这将禁用该项)。

framesize

(num) 接收文件时,文件系统写入操作之间要缓冲的数据量(以字节为单位);缩写为 fr。 如果提供了 fs 功能,则 framesize 初始设置为该功能的值。否则,将 framesize 设置为 1024

halfduplex

(bool) 因为主机是半双工而执行本地回显;缩写为 hdx。 如果提供了 hd 功能,则 halfduplex 初始设置为 on。 否则,halfduplex 初始设置为 off

hardwareflow

(bool) 执行硬件流控制;缩写为 hf。如果提供了 hf 功能,则 hardwareflow 初始设置为 on。 否则,hardwareflowcontrol 初始设置为 off

host

(str) 连接到的主机名;缩写为 hohost 永久设置为命令行上或 HOST 环境变量中给定的名称。

localecho

(bool) halfduplex 的同义词;缩写为 le

log

(str) 向其中记录有关外拨电话呼叫信息的文件的名称。log 初始设置为 /var/adm/aculog,且只能由超级用户检查或更改。

parity

(str) 与远程主机对话时要生成和校验的奇偶;缩写为 par。 可能值有:

none>
zero

不对输入校验奇偶,输出上的奇偶位设置为零。

one

不对输入校验奇偶,输出上的奇偶位设置为一。

even

对输入校验偶数奇偶并在输出上生成偶数奇偶。

odd

对输入校验奇数奇偶并在输出上生成奇数奇偶。

如果提供了 pa 功能,则 parity 初始设置为该功能的值;否则,将 parity 设置为 none

phones

要在其中查找隐藏的电话号码的文件。如果设置了环境变量 PHONES,则将 phones 设置为 PHONES 的值。否则,将 phones 设置为 /etc/phonesphones 的值不能从 tip 内进行更改。

prompt

(char) 指示远程主机上行结束的字符;缩写为 pr。 该值用于数据传输期间的同步。文件传输命令期间传输的行计数基于该字符的接收。如果提供了 pr 功能,则 prompt 初始设置为该功能的值。否则,将 prompt 设置为 \n

raise

(bool) 大写映射模式;缩写为 ra。 启用该模式后,所有小写字母都将由 tip 映射为大写,以便传输至远程计算机。如果提供了 ra 功能,则 raise 初始设置为 on。 否则,raise 初始设置为 off

raisechar

(char) 用于切换大写映射模式的输入字符;缩写为 rc。 如果提供了 rc 功能,则 raisechar 初始设置为该功能的值。否则,将 raisechar 设置为 \377(这将禁用该项)。

rawftp

(bool) 文件传输期间发送所有字符;不过滤非可打印字符,不执行诸如从 \n\r 的转换。缩写为 raw。 如果提供了 rw 功能,则 rawftp 初始设置为 on。 否则,rawftp 初始设置为 off

record

(str) 其中记录了会话脚本的文件的名称;缩写为 rec。 如果提供了 re 功能,则 record 初始设置为该功能的值。否则,将 record 设置为 tip.record

remote

要在其中查找远程系统描述的文件。如果设置了环境变量 REMOTE,则将 remote 设置为 REMOTE 的值。否则,将 remote 设置为 /etc/remoteremote 的值不能从 tip 内进行更改。

script

(bool) 会话脚本编写模式;缩写为 scscripton 时,tip 将在 record 中指定的脚本记录文件中记录远程计算机传输的所有内容。如果 beautify 开关为开启,脚本文件中将仅包括可打印 ASCII 字符(这些字符介于 040 与 0177 之间)。变量 exceptions 用于指示对于一般美化规则而言是例外的字符。如果提供了 sc 功能,则 script 初始设置为 on。 否则,script 初始设置为 off

tabexpand

(bool) 在文件传输期间,将 TAB 字符扩展至 SPACE 字符;缩写为 tabtabexpandon 时,每个 tab 都将扩展至八个 SPACE 字符。如果提供了 tb 功能,tabexpand 初始设置为 on。 否则,tabexpand 初始设置为 off

tandem

(bool) 使用 XON/XOFF 流控制来限制远程主机发送数据的速率;缩写为 ta。 如果提供了 nt 功能,则 tandem 初始设置为 off。否则,tandem 初始设置为 on

verbose

(bool) 详细模式;缩写为 verb;启用详细模式后,tip 将在拨号时打印消息,显示文件传输运行期间传输的当前行数等等。如果提供了 nv 功能,则 verbose 初始设置为 off。 否则,verbose 初始设置为 on

SHELL

(str) 用于 ~! 命令的 shell 名称;缺省值是 /bin/sh,或从环境中获取。

HOME

(str) 用于 ~c 命令的主目录。缺省值从环境中获取。

示例

示例 1 使用 tip 命令

以下是一个用于传输文件的对话框示例。

arpa% tip monet
[connected]
...(assume we are talking to a UNIX system)...
ucbmonet login: sam
Password:
monet% cat  sylvester.c
~> Filename: sylvester.c
32 lines transferred in 1 minute 3 seconds
monet%
monet% ~< Filename: reply.c
List command for remote host: cat reply.c
65 lines transferred in 2 minutes
monet%
...(or, equivalently)...
monet% ~p sylvester.c
...(actually echoes as ~[put] sylvester.c)...
32 lines transferred in 1 minute 3 seconds
monet%
monet% ~t reply.c
...(actually echoes as ~[take] reply.c)...
65 lines transferred in 2 minutes
monet%
...(to print a file locally)...
monet% ~|Local command: pr h sylvester.c | lpr
List command for remote host: cat sylvester.c
monet% ~^D
[EOT]
...(back on the local system)... 

环境变量

以下环境变量由 tip 读取。

REMOTE

remote 文件的位置。

PHONES

包含私人电话号码的文件的位置。

HOST

要连接的缺省主机。

HOME

某人的登录目录(针对 chdirs)。

SHELL

在 `~!' 转义符上分叉的 shell。

文件

/etc/phones

/etc/remote

/var/spool/locks/LCK. .*

锁定文件以避免与 UUCP 冲突

/var/adm/aculog

在其中记录外拨呼叫的文件

~/.tiprc

初始化文件

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os

另请参见

cu(1C)mail(1)uucp(1C)vi(1)ioctl(2)attributes(5)

已知问题

有两个当前未实现的其他变量:chardelaylinedelay