AIX命令参考大全,卷 6,v - z - write 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 6,v - z

write 命令

用途

打开一条通信线路以实时地将消息发送给系统上的其它用户。

语法

要查询所有消息并等待一个主机上用户的应答,并根据句柄来显示它们,请输入以下命令:

write -q [ -n Host ]

要应答由“实用程序”或“Shell 脚本”发送的“消息”,或“重新显示与给定句柄关联的消息”,请输入以下命令:

write -hHandle, { ok | cancel | query } [ -n Host ]

要有选择地在另一个主机或特别的设备上给用户发送消息,请输入以下命令:

write [ -r  ] { [ -n HostUser | User@Host  } [  Line ]

描述

write 命令使消息 能够在系统上实时发送。它提供与另一个登录用户类似交谈一样的通信。每个用户交替地从其它工作站发送或接收简短消息。通过在一个文件中输入完整的消息然后将该文件作为输入重定向 到 write 命令就能发送长消息。

对另一个用户(由 User 参数指定),要接收消息,用户必须登录并消息许可权没有被拒绝。当一条消息被发往一个未登录的用户时, 会显示消息用户未登录。如果消息发送给一个用户,该用户 通过将 mesg 命令设置为 no 而具有 拒绝的消息许可权, 则显示消息 write:许可权拒绝

当发出 write 命令时, 它会立即发送以下消息,同时带有消息收件人或目标的声音提醒(ASCII BEL 字符):

消息 来自于 SenderID 在 SenderHostname 上(ttynn) [日期] ... 

随着连接成功,write 命令发送 两个 ASCII BEL 字符到两个工作站。蜂鸣声提醒发送方消息可以开始而且它提醒接收用户有消息进入。

当按下一次 Enter 键时发送一行。从发送方到接收方的通信链路保持打开并且发送会继续直到 Ctrl-D 按键顺序结束发送链路。然后将一个正文结束符(<EOT>)发送到目标工作站并终止 write 命令。

接收用户或目标用户能够通过向 始发用户发送 write 命令进行响应。这打开了一条从接收方返回发送方的通信线路, 使得消息响应能够返回。对于此类型的交换,下面的约定很有用:当第一次写给其它用户时, 在发送任何文本之前 等待响应。用诸如 o(over)的信号结束消息以提醒其它人应答。当对话完成 时使用 oo(结束并离开)。

如果在一行的开始有字符 !(感 叹号),write 命令调用 shell 将行的剩余部分作为命令来执行。

当将一条消息写到一位登录到多于一个 工作站或多重使用多于一个进程的用户时,write 命令使用 在 /etc/utmp 文件中找到的第一个登录实例 作为消息交付点(通常是登录或控制台 shell),并且提示以下消息:

UserID 已在多于一个位置登录。
您已连接到“工作站”。
其它位置是:
工作站

当接收到这条消息时, 如果想把消息发送到 一个不同于初始登录位置的位置, 可以通过指定位置(例如,tty00) 的 Line 来在不同位置联系目标用户。

允许写给其它用户的许可权由各用户 用 mesg 命令授权或拒绝。一些命令在运行时拒绝消息许可权以阻止 对其输出的干扰。具有 root 用户权限 的用户能写给任何工作站而不考虑工作站的消息许可权。

可以用 write 命令 同在其它主机上的用户对话。可以通过 使用 -nHostName 标志或 User@Host 参数标识在远程主机上的用户。为了写给 远程主机上的用户,writesrv 守护进程必须 同时运行在当前主机和远程主机上。

qdaemon 守护进程也用 write 命令来将消息发送到在其它主机上的用户并等待应答。仅有三种有效应答:

ok 原始写操作以 0 状态退出。
cancel 原始写操作以 1 状态退出。
query 显示与给定句柄相关联的消息。

参数

User 指定接收消息文本人的用户标识。
User@Host 指定接收消息文本人的用户标识和远程主机。
Line 联系在另一个位置(例如,tty00)的目标用户。

标志

-h Handle,Reply 通过使用带有应答选项的 write 来应答用实用程序或 shell 脚本发送的消息。要用 于 Handle 变量的值在内部生成并在原始消息文本中 提供给用户。应答可能是 okcancelquery
-nHost 指定一个远程主机。Host 变量可以是别名或因特网地址。
-q 查询所有消息并等待一个主机上用户的应答,并根据它们的句柄来显示它们。
-r 生成消息句柄, 把它放到消息头中, 发送消息并等待应答。这个标志 由 qdaemon 守护进程用于操作程序消息并能插入到 shell 脚本中。它不用于交互式对话。退出状态 0 表示应答是 ok,退出状态 1 表示应答 是 cancel,退出状态 2 表示无法联系到用户。

注:
  1. 为了使任何标志都有效,writesrv 守护进程必须运行在目标主机上。如果不是正在用 -n 标志或 @Host,而是在用 -h-q-r, 那么 writesrv 守护进程必须运行在当前主机上。
  2. 如果机器上没有安装 TCP/IP,但是 设置了 HostName,那么为了使用 write 命令和 -h-q-r 标志同本地用户对话, 必须把当前主机名附加到 /etc/hosts 文件中 loopback 项的末尾。原始项应该是:

    127.0.0.1 loopback LocalHostName

    新项应该是:

    127.0.0.1 loopback LocalHostName HostName

退出状态

这个命令返回以下出口值:

0 成功完成。
>0 目标用户没有登录或拒绝许可权。

示例

  1. 要将一条消息写到登录用户,请输入:

    write june

    按 Enter 键并输入,

    I need to see you! Meet me in the computer room at 12:30.

    然后按 Ctrl-D 按键顺序以终止 write 命令 方式。

    如果您的用户标识 是 karen 并且您正在使用工作站 tty3june 的工作站显示:

    消息 来自于 karen 在 trek tty3 8 月 17 11:55:24  ...
    I need to see you!  Meet me in the computer room at 12:30.
    <EOT>
  2. 要保持一个对话,请输入:

    write june

    按 Enter 键并输入,

    Meet me in the computer room at 12:30.
    o

    此命令启动对话。下一行开始的 o 表示 消息结束。它告诉 June 您正在等待响应。如果希望继续, 不要按 Ctrl-D。

    现在 June 通过输入以下内容进行应答:

    write karen

    按 Enter 键并输入,

    I'm running tests at 12:30. Can we meet at 3?
    o

    您可能回应:

    OK--the computer room at 3.
    oo

    oo结束并离开,告诉 June 您没有什么其它要说的了。如果 June 也是以 oo 结束, 那么你们都按 Ctrl-D 来 结束对话。

  3. 要把一条已准备的消息写给某人,请输入:

    write june < message.text

    它将 message.text 文件的内容写到 june 的工作站。

  4. 要写给使用特定工作站的那个人,请输入:

    write -n console

    按 Enter 键并输入,

    The printer in building 998 has jammed.
    Please send help.

    然后按 Ctrl-D 按键顺序。

    这将消息写给登录到工作站 /dev/console 的人。

  5. 要将消息发送到在主机 partya 上的用户 spuds,请输入:

    write -n partya spuds

    按 Enter 键并输入,

    Your new tape has just arrived,
    come see me to pick it up.
    Thanks!

    然后按 Ctrl-D 按键顺序。

    或者

    write spuds@partya

    按 Enter 键并输入,

    Your new tape has just arrived,
    come see me to pick it up.
    Thanks!

    然后按 Ctrl-D 按键顺序。

  6. 这里是一个 qdaemon 守护进程发送消息的示例:

    消息 来自 mary 在 trek 上(tty10) 8 月 17 10:03:34 ...
    使用 “write -h 6398492,reply” 来 应答
    请在 rmt0 中插入 5 号 磁带。
    <EOT>

    要肯定地答复,请输入:

    write -h 6398492,ok

    然后按 Ctrl-D 按键顺序。

    要否定地答复,请输入:

    write -h 6398492,cancel

    然后按 Ctrl-D 按键顺序。

    使 用 -h 标志时, 没有必要提供主机名或用户标识。该信息通过句柄跟踪。

文件

/etc/hosts 包含 TCP/IP 主机信息。
/etc/utmp 包含用于 whowritelogin 命令 的用户和记帐信息。

相关信息

mesg 命令、wall 命令、who 命令、writesrv 命令。

《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『shell 概述』

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]