linux中wall向所有在线用户发送广播消息

介绍


通常,系统管理员发送消息以宣布维护,并要求用户注销并关闭所有打开的程序。在终端打开的情况下,消息将显示给所有登录用户。使用没有终端打开的图形桌面环境的用户将看不到该消息。

wall是一个命令行程序,可在所有已登录用户的终端上显示一条消息。可以在终端上键入消息,也可以在文件内容中读取消息。wall 代表全部写入,使用write命令仅向特定用户发送消息。每个用户都可以使用 mesg 程序控制对其终端的写访问。超级用户调用wall命令时,无论其mesg设置如何,所有用户都会收到消息。

发送广播消息


wall命令的语法如下:

wall [OPTIONS] [<FILE>|<MESSAGE>]

如果未指定文件,则wall从标准输入中读取消息。

广播消息的最直接方法是使用消息作为参数来调用wall命令:

wall "The system will be restarted in 10 minutes."
Broadcast message from root@rumenz (pts/0) (Sat Dec 25 21:11:39 2021):
The system will be restarted in 10 minutes.

该消息将广播给当前登录的所有用户。

要查看所有已登录用户,请运行 w 或 who 命令。

要隐藏横幅并仅显示您输入的文本给登录用户,请使用-n(–nobanner)选项调用命令:

wall -n "The system will be restarted in 10 minutes."
The system will be restarted in 10 minutes.

如果要编写多行消息,请在不带参数的情况下调用命令:

wall

wall命令将等待您输入文本。输入完信息后,请按Ctrl+D结束程序并广播信息。

您也可以使用here doc or here-string重定向或将另一个命令的输出通过管道传递到wall。
这是显示如何使用 echo 命令广播多行消息的示例:

echo "The system will be restarted in 10 minutes. \\nPlease save your work."  | wall

发送广播文件中的消息

如果您要定期发送相同的邮件,则可以将其中的每一封邮件都写入一个文件,这样就无需重新输入相同的文本。wall仅当以root身份调用时才从文件读取。

要广播文件的内容,请调用wall命令,后跟文件名:

vim message1_file.txt
The system will be restarted in 10 minutes.
wall message1_file.txt
Broadcast message from root@rumenz (pts/0) (Sat Dec 25 21:11:39 2021):
The system will be restarted in 10 minutes.

向群组中发送广播消息


要仅向给定组的成员发送消息,请运行带有-g(–group)选项的命令,然后输入组名。例如,要只在 devs组的成员的终端上写,可以运行:

wall -g devs "The system will be restarted in 10 minutes."

也可以通过其GID(组ID)指定该组。

CSDN_码404:linux中wall向所有在线用户发送广播消息
https://www.code404.icu/1530.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值