DragonFly On-Line Manual Pages
WRITE(1) DragonFly General Commands Manual WRITE(1)
write -- send a message to another user
write user [ttyname]
The write utility allows you to communicate with other users, by copying
lines from your terminal to theirs.
When you run the write command, the user you are writing to gets a mes-
sage of the form:
Message from yourname@yourhost on yourtty at hh:mm ...
Any further lines you enter will be copied to the specified user's termi-
nal. If the other user wants to reply, they must run write as well.
When you are done, type an end-of-file or interrupt character. The other
user will see the message `EOF' indicating that the conversation is over.
You can prevent people (other than the super-user) from writing to you
with the mesg(1) command.
If the user you want to write to is logged in on more than one terminal,
you can specify which terminal to write to by specifying the terminal
name as the second operand to the write command. Alternatively, you can
let write select one of the terminals - it will pick the one with the
shortest idle time. This is so that if the user is logged in at work and
also dialed up from home, the message will go to the right place.
The traditional protocol for writing to someone is that the string `-o',
either at the end of a line or on a line by itself, means that it's the
other person's turn to talk. The string `oo' means that the person
believes the conversation to be over.
mesg(1), talk(1), wall(1), who(1)
A write command appeared in Version 1 AT&T UNIX.
DragonFly 5.3 June 6, 1993 DragonFly 5.3
write - write to another user
write [-ctynsprfSv] [ user [ tty ] ]
jot [-ltynsprfSv] [ user [ tty ] ]
tel [-clynsprfSv] user [ tty ] [message...]
Note: This is "Orville write", an enhanced version of the standard Unix
Write copies lines from your terminal to that of another user. When
first called, it sends the message:
Message from your-logname your-tty ...
The recipient of the message should write back at this point. Communi-
cation continues until an end of file is read from the terminal or an
interrupt is sent. At that point, write writes "EOF (your-logname)" on
the other terminal and exits.
The following protocol is strongly suggested for using write: when you
first write to another user, wait for him or her to write back before
starting to type your message. Each party should end each message with
a distinctive signal (o for ``over'' is conventional), indicating that
the other may reply; oo for ``over and out'' is suggested when conver-
sation is to be terminated. Avoid typing when it is the other person's
turn, as your text will get all garbled with theirs. Anyway, it's
The jot command is a variation of write which normally sends each char-
acter to the other user as you type it instead of waiting for you to
finish a line before sending anything as write does.
The tel command sends one line ``telegrams'' and then immediately dis-
connects. The message may be given on the command lines (in which case
it is usually best to quote it). If you don't put a message on the
command line, you will be prompted for it. This is usually the prefer-
able way to invoke tel.
All three commands are actually the same program, and share much of the
Permission to write may be denied or granted by use of the mesg(1) com-
mand. Your write permissions upon login are installation dependent.
If you write a person who has permissions on, but is currently writing
someone else, you will be warned of the fact and be given a chance to
cancel your write request before interupting the other conversation.
If you write a person who is running a command under amin(1) you will
be warned similarly.
You can always send messages to people who are currently writing to
you, even if there message permissions are off. If you have sent a
person a tel message, then that person can write or telegram to you for
the next 4 minutes, even if your message permissions are off. This
means that you won't be sitting around wondering why someone won't
reply, just because you've forgotten to turn your permissions on. It
also means that if you don't want someone to be able to talk to you,
then you shouldn't talk to them. Root may write anyone.
If you invoke the write or jot command with no user name, they will
write to whatever user is currently writing you. If no one is writing
you, an error message is printed.
If you invoke the write, jot, or tel command with the user name '.',
they will write again to whoever you wrote to last. If you haven't
written to anyone in this login session, an error message is printed.
This is especially useful when you are exchanging a series of messages
back and forth with tel.
If you want to write to a user who is logged in more than once, the tty
argument may be used to indicate the appropriate terminal. If the tty
argument is not given, the terminal from which you are being written
will be written to, if there is one. If not, one of the lines you have
write permission to will be chosen. If the tty argument is given, the
user name can be given as "-", in which case it will write to whomever
is on that tty, if anyone is.
On some systems there may be users designated as ``helpers''. If your
system has helpers, then doing ``write help'' will write to some helper
who is not busy. If more than one helper is available, one is selected
at random to distribute the workload. Helpers designate themselves
with the mesg(1) command. They are considered busy if they are writing
someone else, or if they are running a command under the amin(1) pro-
If the character ! , | , or & is found at the beginning of a line,
write calls the shell to execute the rest of the line as a unix com-
mand. If the command began with a ! the output of the command will be
sent only to your terminal. If it began with a |, output will be sent
only to the other person's terminal. If it began with a & each of you
will recieve a copy of the output. Note that write expands all strange
control characters before sending them to the other person's terminal,
but does not do so for characters echoed back to your terminal.
Write provides several command line options. Actually, the only dif-
ference between write, jot, and tel is what default values they have
for these options:
-c Send each character as it is typed. Actually, it will not begin
doing so until after the other party has replied. Also, if you
type a line starting with a ")" then the rest of the current
line will be held until you hit return and the sent (minus the
")"). When this option used, typing a control-R will reprint
the text of the line you are currently typing, and control-W
will erase the last word you typed, even if your unix system
doesn't usually support these. In the jot command this is the
-l Send no characters until a full line has been entered. In the
write command this is the default.
-n During the duration of this conversation, temporarily turn off
your message permissions, so as not to allow people other than
the person being writen to write you.
-y During the duration of this conversation, temporarily turn on
your message permissions, allowing other people to write you
after warning them that you are writing someone else.
-p Postpone the receipt of telegrams during the duration of the
conversation. All telegram received during the conversation
will be saved in your .lastmesg file, and will be displayed when
you are finished. The huh(1) command can be used in a shell
escape to check saved messages without leaving write.
-s During the duration of this conversation, leave your write per-
missions unchanged. This normally the default.
-r This causes write to prompt for the root passwd. If it is given
correctly, you will be able to write anyone, no matter how his
message permissions are set, amd you can override his preference
for write or tel.
-f Disallow piping input through write and disable the '&' and '|'
shell escapes. This is mostly meant to be used on 'options'
commands in the orville.conf file. It has been mostly obsoleted
by the 'pipes' configuration command.
-t Sends a one line message (called a telegram) and then discon-
nects immediately. The text of the message may be given on the
command line, or, if it isn't, you will be prompted for it.
Though write will attempt to blank out messages given on the
command line so they cannot be seen by users running w(1) or
ps(1), this will not always work, so secret messages should not
be placed on the command line. This is the default in the tel
-S Normally if you send a telegram to someone who has indicated a
preference for writes, you get asked if you want to switch to
writing, and vice versa. The -S flag suppresses this question,
and just makes it quietly fail (unless you are root, in which
case it quietly succeeds).
-v print the version number.
The options selected by the writer may in some cases be overridden by
the recipient. You can set your preferences for writes versus tele-
grams, and for line mode versus character mode with the mesg(1) com-
mand. If the recipient has set write/telegram preferences, you will be
asked if you want to use the other if you write him the wrong way. If
you invoke Write with a -S flag, then you will not be asked if you want
to switch. Only root can actually override the recipient's prefer-
ences. For regular users, if you decline to switch, the command fails.
If the recipient has set character/line mode preferences, a message
will be printed and you will be forced into his or her prefered mode.
The orville.conf file contains configuration information for Orville
write and the associated utilities. Lines starting with '#' and blank
lines are ignored. Other lines contain the commands listed below:
Normally you can send telegrams to a person for four minutes
(240 seconds) after they sent you a telegram, even if their
message permissions are off. This command can be used to set
size of that window to other values.
If disconnect is enabled the 'mesg d' and 'mesg N' commands
can be used by the writee to disconnect everyone currently
writing them. (See mesg(1)). It is enabled by default.
If exceptions are enabled the 'mesg ye' and 'mesg ne' com-
mandsa can be used to limit which particular users can and
cannot write you (See mesg(1)). It is enabled by default.
If this flag is set, then message announcement banners will
include the hostname of the sender's machine (and the
reciever's since write does not allow interhost communica-
tions). It is disabled by default.
If this flag is set, then only people whose logins appear in
the given file may be helpers. Otherwise, anyone may be. It
is disabled by default.
By default you get help by doing 'write help'. If you want
to use some keyword other than 'help', use this command to
Can people designate themselves to be helpers, and should
'write help' work? By default, no.
What file should logging be done in? If not defined, or if
it is defined and the file does not exist, then no logging
will be done.
How much logging should be done? Level 0 means none. Level
1 means only log help requests (with information about
whether they succeeded or not). Level 2 means logging a one-
line description of each write connection made. Of course,
no logging is done if 'log' is not defined or does not exist.
No content of any write conversation is ever logged. The
default is 1.
If someone does 'write help', but no helpers are found, this
file is displayed. Normally it has information on other
places to get help. If not defined, nothing is printed.
If turned off, this disallows piping data through write, so
you can't do escapes. This may be necessary if many users
are using write to annoy other users by sending large chunks
of data. It defaults on.
If the environment variable NOVICE is defined, then print the
contents of this file before running write. If not defined,
nothing is printed.
options <command-name> -<flags>...
Set default options for different links to the write program.
For example, if you have the line 'options jot -c' and you
make a link to the write program named 'jot', then jot will
default to character mode instead of line mode. If command-
name is '*', then all links (even ones created by users) get
This is the full pathname of the 'wrthist' file which main-
tains information about user's recent messages. It is used
to limit telegram flooding attacks, and allow replies to
telegrams during the four minute window. By default it is in
the same directory as the
This is the full pathname of the 'wrttmp' file which main-
tains information about user's current state. By default it
is in the same directory as the
mail(1), mesg(1), who(1), huh(1), finger(1), amin(1), helpers(1).
7th Edition Jan 20, 2000 WRITE(1)