WRITE(1)

๐Ÿ’Œ WRITE(1) โ€” bestie edition

okay so this is write, a User Commands classic, and honestly? it's the original group chat. no cap.


โœจ NAME โœจ

write โ€” send a message to another user ๐Ÿ’ฌ


๐ŸŒธ SYNOPSIS ๐ŸŒธ

write user [ttyname]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

write lets you talk to other users, like, for real. It copies lines from your terminal straight over to theirs. That's it. That's the whole vibe. ๐Ÿ’…

The moment you run write, the person you're writing to gets a little message that looks exactly like this:

Message from yourname@yourhost on yourtty at hh:mm ...

Every line you type after that gets copied over to the specified user's terminal. And here's the thing โ€” if the other person wants to reply, they have to run write too. It's not automatic, bestie. It's a two-way street and both of you are holding a phone. ๐Ÿ“ฑ

When you're done, you type an end-of-file or interrupt character. The other user will see the message EOF, which is the universal signal for okay this convo is over, love u, bye. ๐Ÿ˜ญ

Now, if you want to protect your peace, you can stop people (other than the superuser, who answers to no one) from writing to you with the mesg(1) command. Also, some commands โ€” like nroff(1) and pr(1) โ€” may automatically disallow writing, so the output they produce doesn't get absolutely steamrolled by someone's incoming message. Respect the workflow. โœจ

If the user you want to write to is logged in on more than one terminal, you can pick which terminal gets your message by giving the terminal name as the second operand to write. Or you can just let write choose โ€” it'll go for the one with the shortest idle time. Why? So that if the user is logged in at work and also dialed up from home, your message lands in the right place. Iconic design honestly. ๐Ÿ‘‘

The traditional protocol for writing to someone is this: the string -o, either at the end of a line or on a line all by itself, means it's the other person's turn to talk. And the string oo means the person believes the conversation is over. Old-school handoff, no notes. ๐ŸŽ€


๐Ÿ’– OPTIONS ๐Ÿ’–

  • -h, --help โ€” display help text and exit. the "wait what does this do again" button ๐Ÿซถ
  • -V, --version โ€” display version and exit. for when you gotta know exactly which one you're running ๐Ÿ’…

๐ŸŒˆ HISTORY ๐ŸŒˆ

A write command appeared in Version 5 AT&T UNIX (Jun 1974). yes. 1974. she's been in the game longer than everyone. periodt. ๐Ÿ‘‘


โญ SEE ALSO โญ

mesg(1), talk(1), who(1)


๐Ÿ™ˆ REPORTING BUGS ๐Ÿ™ˆ

Found a bug? Don't suffer in silence, bestie. For bug reports, use the issue tracker: <https://github.com/util-linux/util-linux/issues>. they wanna hear from you fr fr ๐Ÿ’œ


๐Ÿ“ AVAILABILITY ๐Ÿ“

The write command is part of the util-linux package, which can be downloaded from the Linux Kernel Archive: <https://www.kernel.org/pub/linux/utils/util-linux/>. go get her ๐Ÿงš


okay that's the whole page ๐Ÿ’– this was util-linux 2.42.4, dated 2026-09-21, and yes that's the actual footer info, I would never gatekeep. slay, stay safe, and remember to check mesg before you start typing at someone mid-build. ๐ŸŽ€โœจ

๐Ÿ“ฆ where this page comes from
  • arch rolling: util-linux 2.42.4-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ISC AND LGPL-2.1-or-later AND LicenseRef-PublicDomain
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms