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 分类 print 或 space 中的字符,会将这些字符发送到接收者的终端。
当且仅当启用了 stty iexten 本地模式,才会将其他特殊控制字符和多字节或单字节字符(如果其等效宽字符可输出)作为可输出字符处理。
如果键入其他不可列显字符,会按以下方式将其写入接收者的终端:控制字符将显示为插入记号 (^) 后跟相应的 ASCII 字符,设置了高序位的字符将以“元数据”表示法显示。例如,\003 显示为 ^C,\372 显示为 M-z。
可以使用 mesg(1) 实用程序拒绝或授予接收 talk 消息的权限。但是,用户的特权可以进一步限制其他用户终端的可访问性域。某些命令,如 pr(1),会禁止消息以防止干扰其输出。如果用户缺少执行所请求操作的相应特权,则 talk 将失败。
某些锁定模式的终端不具备支持 talk 的即时消息交换所需的所有功能。如果此类终端不支持此类型的交换,则实现可能支持同时交互级别更低的交换,或者可能报告错误(描述与终端相关的缺陷)。
支持下列操作数:
talk 会话的接收者。address 的一种格式为 username,由 who(1) 实用程序返回。如果您希望与自己计算机上的某人通信,则 username 就是此人的登录名。如果您希望与其他主机上的用户通信,则 username 可能是以下格式之一:
host!user host.user host:user user@host
尽管 user@host 可能是首选项。
如果接收者多次登录,则可使用 terminal 来表示相应的终端名称。如果未指定 terminal,则 talk 消息将显示在接收者使用的一个或多个可访问终端上。terminal 的格式将与 who 返回的格式相同。
有关影响 talk 执行的以下环境变量的说明,请参见 environ(7):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。
确定调用者终端类型的名称。如果未设置该变量或该变量为空,则将使用不确定的终端类型。
将返回以下退出值:
成功完成。
发生错误,或者在不支持的终端上调用了 talk。
主机名数据库
talk 的用户和记帐信息
有关下列属性的说明,请参见 attributes(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 随后会将光标移动到屏幕底部并将终端恢复到之前的状态。