Scroll to navigation

NWRITE(1) General Commands Manual NWRITE(1)


nwrite - enhanced write


nwrite [-i minutes] [-a] user[.ttyname] [user[.ttyname] ...]


nwrite copies lines from your terminal to the terminals of one or more users. When called, it begins copying lines you type to the recipient's terminal(tty). Before sending the first line of text, nwrite prepends the message

Message from <name> on <tty> [to user [users ...]] at <time> ...

Communication continues until an end of file is read from the terminal or an interrupt is sent. At that point nwrite writes `EOF' (or `EOF (sendername)' if whoeof is set) on the other terminal and exits.

If you want to write to a user who is logged in more than once, the ttyname argument may be used to indicate the appropriate terminal name, OR, you can let nwrite find the first writable tty, and write to that. Additionally, you can use the -i option to specify a number of minutes; ttys more idle than the number you specify will be ignored when looking for ttys to write to.

Permission to write may be denied or granted by use of the mesg command. At the outset writing is allowed. Certain commands, in particular nroff and pr(1) disallow messages in order to prevent messy output.


To control how incoming nwrites look to you, create a ~/.nwriterc with lines of the form:

option value

Where value is either 0 or 1 (meaning no and yes) and option is one of:

Display "user> " before each incoming line.
Cause the terminal to beep when the message header comes through.
Do not wait for the first line of input before displaying the message header.
Takes the following string values:
no bolding (default)
message header only
message header and "login>" line tags
bold everything
Used to control the behavior of the message header. Takes the following string values:
never show recipient list
only if more than one recipient (default)
always show recipients
When sending EOF, append username to differentiate between many Users at once like this: "EOF (user)".

Note that your home directory must be world executable and the .nwriterc itself must be world readable.


headers 1
nodelay 0
beep 0
bold header
showtarg multi


arguments are zeroed so that the process table entry does not reveal who you are writing to. (Not available on all systems.)
Ignore ttys more idle than <minutes> minutes.


to find user
to set system default preferences
to obtain target's preferences


Marco Nicosia,, Summer 1993
Aaron C. Smith,, Summer 1994-Spring 1995
Alan Coopersmith,, Summer 1995-present
Master ftp site:


mesg(1) , who(1) ,

UNIX Programmer's Manual Version 1.9.2 - July 1998