wall命令——向所有用户发送消息

1)描述

wall是缩写,写信给所有人的意思。该命令的目的是向所有当前登录用户的终端发送快速消息。wall命令用于向系统当前所有打开的终端上输出信息。通过wall命令可将信息发送给每位同意接收公众信息的终端机用户,若不给予其信息内容,则wall命令会从标准输入设备读取数据,然后再把所得到的数据传送给所有终端机用户。该命令将换行长度超过79个字符的行。短行是空格填充的,有79个字符。该命令将始终在每行末尾放置回车符。只有超级用户才能在已选择拒绝消息或正在使用自动拒绝消息程序的用户的终端上进行写。当调用程序不是超级用户且程序设置为用户ID或set-group-ID时,将拒绝读取文件。

2)语法格式:wall [参数] [消息文本或文件名]

3)参数

-n 

排除邮件前面的头条文本

-t

超时秒后放弃对终端的写入尝试(在分配的时间到期后登录的用户不会收到该消息)。此超时必须是正整数,默认值为300秒

-g 

限制将消息打印到定义为组参数的组成员。参数可以是组名或GID

-V

显示版本信息并退出

-h 

显示帮助文本并退出

 

以下-n、-t、-g的截图均用控制台终端演示,按Ctrl + Alt + (F1~F6中任意一个)可进入纯命令行模式,按 Ctrl + Alt + F7即进入图形界面模式(不同Ubuntu版本可能有所不同)。tty2为当前用户使用,tty3为2019用户使用,tty4为xiaoyuan用户使用,tty5为root用户使用。

用root用户给当前登录用户的终端发送消息:

当前登录用户的终端则会收到来自root发送的消息:

  • -n, --nobanner(诺班纳):排除邮件前面的头条文本

   用root用户给当前登录用户的终端发送消息:

当前登录用户的终端则会收到来自root发送的消息:

  • -t, --timeout超时:超时秒后放弃对终端的写入尝试(在分配的时间到期后登录的用户不会收到该消息)。此超时必须是正整数,默认值为300

who查看当前登录用户,并用root用户给当前登录用户的终端发送消息(限时3秒):

  在分配的时间内登录的用户的终端则会收到来自root发送的消息:

在分配的时间到期后登录的用户不会收到该消息:

  • -g, --group组:限制将消息打印到定义为组参数的组成员。参数可以是组名或GID

testgroup为测试组(GID888),用户 xiaoyuan当前的组为testgroup

    用root用户给当前登录的测试组用户的终端发送消息:

    当前登录的测试组用户的终端则会收到来自root发送的消息,不在测试组的用户则收不到消息:

  • -V, --version版本:显示版本信息并退出

  • -h, --help帮助:显示帮助文本并退出

Logo

更多推荐