linux write命令用法(豆包生成)

在 Linux/Unix 系统中,write 命令用于向其他登录用户的终端发送消息,实现简单的实时通信。

基本语法

bash
 
 
write <用户名> [终端名]
 

  • <用户名>:接收消息的目标用户(需已登录系统)。
  • [终端名]:可选参数,若目标用户同时登录多个终端(如本地终端、SSH 连接),可指定具体终端(不指定则默认发送到第一个终端)。

使用步骤

  1. 查看当前登录用户及终端
    先通过 who 或 w 命令确认目标用户的登录信息(用户名和终端名):
    bash
     
     
    who
    # 输出示例:
    # alice   tty1         2025-08-23 09:00
    # bob     pts/0        2025-08-23 09:30 (192.168.1.100)
    
     

    其中 tty1pts/0 是终端名(tty 为本地终端,pts 为远程 / 伪终端)。
  2. 发送消息
    向用户 bob 的 pts/0 终端发送消息:
    bash
     
     
    write bob pts/0
    
     

    执行后进入输入模式,直接输入消息内容(每行一条),按 Enter 发送,按 Ctrl+D 结束对话。
  3. 接收方效果
    用户 bob 的终端会实时显示消息,格式类似:
    plaintext
     
     
    Message from alice@localhost on pts/1 at 10:00 ...
    你好,这是一条测试消息!
    EOF  # 发送方结束后显示
    
     

注意事项

  1. 权限限制
    • 若接收方设置了 mesg n(禁止接收消息),则 write 命令会失败,提示 write: bob has messages disabled
    • 只有同组用户或 root 可以向对方发送消息(部分系统默认限制)。
  2. 终端指定
    若用户登录多个终端且未指定终端,write 会自动选择第一个终端,但可能不是对方当前活跃的终端,建议通过 who 确认后指定。
  3. 替代方案
    write 仅支持简单文本消息,若需更复杂的通信,可使用 talk(双向聊天)或 wall(向所有用户广播)。

示例

bash
 
 
# 查看登录用户
who
# 假设输出:bob pts/0        2025-08-23 10:00 (192.168.1.1)

# 向 bob 发送消息
write bob pts/0
请尽快查看邮件!
(按 Ctrl+D 结束)
write 命令适合在多用户系统中快速传递简短通知,是早期 Unix 系统中简单的即时通信工具。
posted @ 2025-08-23 11:18  小鱼圆又圆  阅读(32)  评论(0)    收藏  举报