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 [email protected] (pts/0) (Sun Oct 4 19:22:07 2020):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
命令,后跟文件名:
message1_file.txt
The system will be restarted in 10 minutes.
wall message1_file.txt
Broadcast message from [email protected] (pts/0) (Sun Oct 4 19:25:06 2020):The system will be restarted in 10 minutes.
向群组广播消息
要仅向给定组的成员发送消息,请运行带有-g
(--group
)选项的命令,然后输入组名。 例如,要只在“ devs”组的成员的终端上写,可以运行:
wall "The system will be restarted in 10 minutes."
0
也可以通过其GID(组ID)指定该组。
结论
wall
命令在所有当前登录用户的终端上写一条消息。
如有任何疑问,请随时发表评论。
还没有评论,来说两句吧...