在银河麒麟系统中,用wall命令可向所有已登录用户广播消息,如echo "【系统通知】今晚20:00进行安全补丁更新,请及时保存工作。" | wall;write命令用于定向发送,需先who查终端再write user pts/n;logger+wall组合可实现带时间戳的日志式广播。

你想在银河麒麟系统中通过命令行向当前所有已登录用户发送一条即时可见的广播通知,比如提醒大家即将重启服务、临时维护或重要政策变更,而不是只发给某个终端或用户。
用wall命令发送实时广播消息
这一步操作起来很简单,直接把文件拖进去就行。
打开终端,输入以下命令:
echo "【系统通知】今晚20:00进行安全补丁更新,请及时保存工作。" | wall
消息会立即显示在所有已登录用户的TTY和图形终端顶部(部分桌面环境需启用终端响铃或通知权限才可见)。【注意:wall仅向已登录且终端处于活跃状态的用户广播,不推送到后台会话或未打开终端的用户】
用write命令定向发送给指定用户
当你只想通知某一个登录用户,又不想惊动所有人时,用write更精准。
第一步:查看当前有哪些用户已登录并记录其终端名
who
输出类似:zhangsan pts/1 2026-08-19 11:23,其中 pts/1 就是该用户的终端标识。
第二步:向该用户发送消息
write zhangsan pts/1
回车后,光标停在新行,此时输入你的通知内容,完成后按 Ctrl+D 结束发送。
对方终端会立刻弹出以 Message from root@kylin on pts/0 at 12:05 ... 开头的文本块,内容即你所输入的文字。
用logger + wall组合实现带时间戳的日志式广播
方法一:单行执行(推荐)
logger -t "BROADCAST" "数据库备份已完成,路径:/backup/db_20260819.sql" && echo "$(date '+%H:%M') — $(logger -p user.info -s "BROADCAST: 数据库备份已完成" 2>&1)" | wall
方法二:分步调试(适合新手)
先测试日志是否写入:logger -t "TEST" "这是测试消息"
再确认日志内容可读:tail -n 1 /var/log/messages | grep TEST
最后广播:echo "$(date +%H:%M) — $(tail -n 1 /var/log/messages | grep 'TEST' | cut -d' ' -f5-)" | wall
【关键点:wall本身不记录时间,必须靠date或logger显式插入,否则接收方无法判断消息时效性】











