linux 终端中向其他用户发送消息

本文介绍如何在终端环境下,通过输入特定命令来向指定的TTY会话发送消息,适用于需要进行远程通信或管理任务的场景。

输入w可以看到用户列表和tty编号

 

输入

 

write  user1   pts/1回车

 

就可以输入消息,并向user1发送该消息

 

### 如何向其他终端的 root 用户发送消息Linux 中,可以通过 `write` 命令实现向特定用户终端发送即时文本消息。以下是具体方法: #### 使用 `write` 命令 `write` 命令用于向某个已登录用户消息终端发送信息。其基本语法如下: ```bash write user [ttyname] ``` - `<user>` 是目标用户的名称,在这里是 `root`。 - `[ttyname]` 可选参数,表示目标用户终端设备名。 例如,要向运行在 `pts/2` 的 `root` 用户发送消息,可以执行以下命令[^4]: ```bash write root pts/2 ``` 输入上述命令后,可以直接键入想要传递的信息。完成后按 `Ctrl + D` 或者单独按下 `Enter` 键再输入 `.`, 即可结束消息发送过程[^3]。 #### 查找目标用户终端编号 为了知道应该把消息发往哪个具体的终端 (比如 `pts/2`) ,可以先通过 `w` 或者 `who` 命令来获取在线用户的列表及其对应的终端号码[^1]: ```bash w ``` 或者 ```bash who ``` 这两个命令都会显示当前活动会话的相关数据,其中包括用户名以及他们所连接的具体终端标识符(如 `pts/x`)。找到目标 `root` 用户所在的终端之后就可以按照前述方式调用 `write` 命令了。 另外需要注意的是,如果尝试联系的目标用户关闭了自己的读取消息功能,则即使成功发出通知也可能无法被对方看到;此时可能需要管理员权限或者其他沟通手段解决此问题[^2]. 最后提醒一点,出于安全考虑,请谨慎对待此类操作,尤其是在生产环境中避免滥用聊天工具干扰他人正常工作流程。 ### 示例代码 下面是一个简单的例子展示如何构建并自动完成整个流程: ```bash #!/bin/bash # 获取目标用户终端号作为参数传入脚本 TARGET_USER=$1 TERMINAL_NAME=$2 if [[ -z "$TERMINAL_NAME" ]]; then echo "Usage: $0 username terminal" exit 1 fi echo "Message to send:" message=$(cat) echo "${message}" | write ${TARGET_USER} ${TERMINAL_NAME} ``` 保存上面这段脚本至文件名为 `send_message.sh` 并赋予可执行权能: ```bash chmod u+x send_message.sh ``` 然后就能像这样使用它来进行跨终端通讯啦!比如说想告诉正在 `pts/5` 上忙碌着的那个超级管理人某件紧急事情的话... ```bash ./send_message.sh root pts/5 This is an urgent matter! Please check immediately. [Press Ctrl-D when done typing your message.] ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值