Go to main content

手册页部分 1:用户命令

退出打印视图

更新时间: 2018年8月8日 星期三
 
 

talk(1)

名称

talk - 与其他用户通信

用法概要

talk address [terminal]

描述

talk 实用程序是双向的、面向屏幕的通信程序。

首次调用时,talk 会发送与以下消息类似的消息:

Message from TalkDaemon@ her_machine at time . . .
talk: connection requested by your_address
talk: respond with: talk your_address

到指定的 address。此时,可通过键入以下内容来回复消息接收者:

talk your_address

一旦建立通信,双方便可同时键入,他们的输出将显示在屏幕的不同区域。字符的处理方式如下:

  • 键入警报字符将在接收者的终端发出警报。

  • 键入 Ctrl-l 将刷新发送者的屏幕区域。

  • 如果键入清除和删除字符,会按 termios(3C) 界面中所述的方式影响发送者的终端。

  • 键入中断或文件结尾 (EOF) 字符将终止本地的 talk 实用程序。一旦一端的 talk 会话终止,talk 会话的另一端便会收到通知,说明 talk 会话已终止,除退出外无法进行其他操作。

  • 如果键入 LC_CTYPE 分类 printspace 中的字符,会将这些字符发送到接收者的终端。

  • 当且仅当启用了 stty iexten 本地模式,才会将其他特殊控制字符和多字节或单字节字符(如果其等效宽字符可输出)作为可输出字符处理。

  • 如果键入其他不可列显字符,会按以下方式将其写入接收者的终端:控制字符将显示为插入记号 (^) 后跟相应的 ASCII 字符,设置了高序位的字符将以“元数据”表示法显示。例如,\003 显示为 ^C\372 显示为 M-z

可以使用 mesg(1) 实用程序拒绝或授予接收 talk 消息的权限。但是,用户的特权可以进一步限制其他用户终端的可访问性域。某些命令,如 pr(1),会禁止消息以防止干扰其输出。如果用户缺少执行所请求操作的相应特权,则 talk 将失败。

某些锁定模式的终端不具备支持 talk 的即时消息交换所需的所有功能。如果此类终端不支持此类型的交换,则实现可能支持同时交互级别更低的交换,或者可能报告错误(描述与终端相关的缺陷)。

操作数

支持下列操作数:

address

talk 会话的接收者。address 的一种格式为 username,由 who(1) 实用程序返回。如果您希望与自己计算机上的某人通信,则 username 就是此人的登录名。如果您希望与其他主机上的用户通信,则 username 可能是以下格式之一:

host!user
host.user
host:user
user@host 

尽管 user@host 可能是首选项。

terminal

如果接收者多次登录,则可使用 terminal 来表示相应的终端名称。如果未指定 terminal,则 talk 消息将显示在接收者使用的一个或多个可访问终端上。terminal 的格式将与 who 返回的格式相同。

环境变量

有关影响 talk 执行的以下环境变量的说明,请参见 environ(7):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

TERM

确定调用者终端类型的名称。如果未设置该变量或该变量为空,则将使用不确定的终端类型。

退出状态

将返回以下退出值:

0

成功完成。

>0

发生错误,或者在不支持的终端上调用了 talk

文件

/etc/hosts

主机名数据库

/var/adm/utmpx

talk 的用户和记帐信息

属性

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

属性类型
属性值
可用性
network/talk
接口稳定性
Committed(已确定)
标准
请参见 standards(7)

另请参见

mail(1)mesg(1)pr(1)stty(1)who(1)write(1)termios(3C)attributes(7)environ(7)standards(7)talkd(8)

附注

键入 Ctrl-l 可重画屏幕,删除、中止和词语中止字符可在 talk 中正常使用。要退出,请键入中断字符。talk 随后会将光标移动到屏幕底部并将终端恢复到之前的状态。