mesg 是 Linux 系统中用于控制其他用户是否可以向当前终端发送消息的命令。

它允许或禁止其他用户通过 write 或 wall 命令向您的终端发送消息。
mesg 是系统用户管理终端消息权限的工具。
mesg [OPTIONS]
y:允许其他用户发送消息n:禁止其他用户发送消息-v, --verbose:显示详细信息-h, --help:显示帮助信息-V, --version:显示版本信息mesg
输出示例:
is y
mesg y
mesg n
mesg -v n
输出示例:
mesg: turning messages off
#!/bin/bash# 检查当前 mesg 状态if mesg | grep -q "y"; then echo "Messages are allowed"else echo "Messages are disabled"fi# 禁止消息mesg n
# 允许消息mesg y# 执行需要接收消息的操作echo "Waiting for messages..."# 禁止消息mesg n
# 显示当前状态is yis n
mesg: turning messages onmesg: turning messages off
# 1. 用户执行 mesg 命令mesg y# 2. 修改终端的写权限# 3. 输出状态信息
| 文件 | 说明 |
|---|---|
| /dev/tty* | 终端设备文件 |
# 查看终端权限ls -l /dev/tty# 输出示例: crw--w---- 1 user tty 4, 1 Jun 10 09:00 /dev/tty1# ^--- 其他用户写权限
# 添加到 ~/.bashrc 文件echo "mesg n" >> ~/.bashrc# 或者使用 chsh 设置登录脚本
#!/bin/bash# 获取当前终端TTY=$(tty | sed 's|/dev/||')# 检查权限PERM=$(ls -l /dev/$TTY | cut -c 8)if [ "$PERM" = "w" ]; then echo "Messages are allowed"else echo "Messages are disabled"fi
#!/bin/bash# 保存当前状态OLD_STATE=$(mesg | awk '{print $2}')# 允许消息mesg y# 等待消息echo "Messages enabled. Press Ctrl+C to exit..."read -t 60# 恢复原状态mesg "$OLD_STATE"#!/bin/bash# 禁止当前用户的消息mesg n# 或者使用 w 命令查看其他用户并禁止for user in $(users); do echo "Disabling messages for $user" mesg ndone
write:向其他用户发送消息wall:向所有用户发送消息talk:与其他用户进行对话users:显示当前登录用户who:显示当前登录用户w:显示当前登录用户及其活动mesg 是 Linux 系统中用于控制终端消息权限的工具。
它允许或禁止其他用户通过 write 或 wall 命令向您的终端发送消息。mesg 是系统用户管理终端消息权限的工具。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。
您可能感兴趣的文章: