.\" Copyright (c) 1989, 1990 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)wall.1	6.5 (Berkeley) 4/23/91
.\"
.TH WALL "1" "August 2013" "util-linux" "User Commands"
.SH NAME
wall \- write a message to all users
.SH SYNOPSIS
.B wall
.RB [ \-n ]
.RB [ \-t
.IR timeout ]
.RB [ \-g
.IR group ]
.RI [ message " | " file ]
.SH DESCRIPTION
.B wall
displays a
.IR message ,
or the contents of a
.IR file ,
or otherwise its standard input, on the terminals of all currently logged
in users.  The command will wrap lines that are longer than 79 characters.
Short lines are whitespace padded to have 79 characters.  The command will
always put a carriage return and new line at the end of each line.
.PP
Only the superuser can write on the terminals of users who have chosen to
deny messages or are using a program which automatically denies messages.
.PP
Reading from a
.I file
is refused when the invoker is not superuser and the program is
set-user-ID or set-group-ID.
.SH OPTIONS
.TP
.BR \-n , " \-\-nobanner"
Suppress the banner.
.TP
.BR \-t , " \-\-timeout " \fItimeout\fR
Abandon the write attempt to the terminals after \fItimeout\fR seconds.
This \fItimeout\fR must be a positive integer.  The default value
is 300 seconds, which is a legacy from the time when people ran terminals over
modem lines.
.TP
.BR \-g , " \-\-group " \fIgroup\fR
Limit printing message to members of group defined as a
.I group
argument.  The argument can be group name or GID.
.TP
.BR \-V , " \-\-version"
Display version information and exit.
.TP
.BR \-h , " \-\-help"
Display help text and exit.
.SH NOTES
Some sessions, such as wdm, that have in the beginning of
.BR utmp (5)
ut_type data a ':' character will not get the message from
.BR wall .
This is done to avoid write errors.
.SH SEE ALSO
.BR mesg (1),
.BR talk (1),
.BR write (1),
.BR shutdown (8)
.SH HISTORY
A
.B wall
command appeared in Version 7 AT&T UNIX.
.SH AVAILABILITY
The wall command is part of the util-linux package and is available from
.UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
Linux Kernel Archive
.UE .
