一,什么是write
https://man.he.net/man1/write
write - 向其他用户发送消息
write 命令允许你通过将你终端上的行复制到其他用户的终端,来与他们进行通信。
当你运行 write 命令时,你正在发送消息的用户会收到如下形式的消息:
Message from yourname@yourhost on yourtty at hh:mm ...
你输入的任何后续行都将被复制到指定用户的终端。如果对方想要回复,他们也必须运行 write 命令。
当你完成通信时,输入文件结束符或中断字符。对方会看到 EOF 消息,这表明对话已结束。
你可以使用 mesg(1) 命令阻止除超级用户之外的其他人向你发送消息。某些命令(例如 nroff(1) 和 pr(1))可能会自动禁止写入操作,以免它们生成的输出被覆盖。
如果你想发送消息的用户登录了多个终端,你可以通过将终端名称作为 write 命令的第二个操作数来指定要写入哪个终端。或者,你也可以让 write 命令选择其中一个终端,它会选择空闲时间最短的终端。这样,如果用户在工作场所登录,同时也从家里拨号登录,消息就会发送到合适的地方。
传统的向他人发送消息的协议是在一行末尾或单独一行上使用字符串 -o,表示轮到对方发言了。字符串“oo”表示此人认为对话已结束。
二,参数
[root@master1 ~]# write -h用法: write [选项] <用户> [<tty名称>]选项: -V, --version 输出版本信息并退出 -h, --help 显示此帮助并退出
三,例子
1. 基本用法:向指定用户发送消息,输入的每一行都会实时显示在 root的终端上。按 Ctrl+D 或C 结束通信
[root@master1 ~]# write rootMessage from root@master1 on pts/0 at 20:10 ...test messagetest messageEOF[root@master1 ~]#
2. 指定终端:向特定终端发送消息
先看看有哪些用户登录了,看到有root pts/0[root@master1 ~]# whoroot pts/0 2026-02-01 19:52 测试指定终端[root@master1 ~]# write root pts/0Message from root@master1 on pts/0 at 20:16 ...test message 01test message 01^CEOF
3. 快速通知:发送简短提醒,适合快速通知其他用户完成某事或检查日志:
[root@master1 ~]# echo "Server is ready" | write rootMessage from root@master1 on pts/0 at 20:19 ...Server is readyEOF[root@master1 ~]#
4. 脚本自动化:定时发送消息,在脚本中使用 write 实现定时提醒(如每小时检查备份状态):
#!/bin/bashwhile true; do echo "Backup check: $(date)" | write root sleep 3600 # 每小时一次done
5.拒绝消息:使用 mesg 禁用写入
[root@master1 ~]# mesg n[root@master1 ~]# write root pts/0write: you have write permission turned off[root@master1 ~]# mesg y[root@master1 ~]# write root pts/0Message from root@master1 on pts/0 at 20:28 ...
6. 传统协议:使用 -o 和 oo 控制对话,按传统协议,-o 表示轮到你发言,oo 表示结束对话,常用于多用户协作:实时讨论
确认登录用户[root@master1 ~]# whotest1 pts/0 2026-02-01 20:56 root pts/1 2026-02-01 20:24 test2 pts/2 2026-02-01 20:58 root pts/3 2026-02-01 20:58 #两个用户之前互相发消息[test1@master1 ~]$ write test2Hi, are you there? -o[test2@master1 ~]$ write test1Yes! -oLet's meet at 3pm. oo
四,补充
历史
write 命令首次出现在 AT&T UNIX 第 6 版中。
另见
报告错误
如需报告错误,请使用问题跟踪器:https://github.com/karelzak/util-linux/issues
可用性
write命令是 util-linux软件包的一部分,可从 Linux 内核存档网站下载:https://www.kernel.org/pub/linux/utils/util-linux/
五,总结
以上就是今天全部内容,linux 特点之一是:"单一职责原则(Single Responsibility Principle)",所有才会有write命令,应该在很早期的时候,便于大家协同工作。
最后的最后(Last but not least),欢迎交流:
关注公众号留言,或者在下方直接留言: