MSGS(1) General Commands Manual MSGS(1)
msgs – system messages and junk mail program
msgs [-fhlpq] [number] [-number]
msgs [-c] [-days]
The msgs utility is used to read system messages. These messages are sent
by mailing to the login `msgs' and should be short pieces of information
which are suitable to be read once by most users of the system.
The msgs utility is normally invoked each time you login, by placing it in
the file .login (or .profile if you use sh(1)). It will then prompt you
with the source and subject of each new message. If there is no subject
line, the first few non-blank lines of the message will be displayed. If
there is more to the message, you will be told how long it is and asked
whether you wish to see the rest of the message. The possible responses
-y Type the rest of the message.
RETURN Synonym for y.
-n Skip this message and go on to the next message.
- Redisplay the last message.
-q Drop out of msgs; the next time msgs will pick up where it last
-s Append the current message to the file ``Messages'' in the
current directory; `s-' will save the previously displayed
message. A `s' or `s-' may be followed by a space and a file
name to receive the message replacing the default ``Messages''.
-m A copy of the specified message is placed in a temporary
mailbox and mail(1) is invoked on that mailbox. Both `m' and
`s' accept a numeric argument in place of the `-'.
The msgs utility keeps track of the next message you will see by a number
in the file .msgsrc in your home directory. In the directory /var/msgs it
keeps a set of files whose names are the (sequential) numbers of the
messages they represent. The file /var/msgs/bounds shows the low and high
number of the messages in the directory so that msgs can quickly determine
if there are no messages for you. If the contents of bounds is incorrect
it can be fixed by removing it; msgs will make a new bounds file the next
time it is run with the -s option. If msgs is run with any option other
than -s, an error will be displayed if /var/msgs/bounds does not exist.
The -s option is used for setting up the posting of messages. The line
msgs: "| /usr/bin/msgs -s"
should be included in /etc/mail/aliases (see newaliases(1)) to enable
posting of messages.
The -c option is used for performing cleanup on /var/msgs. A shell script
entry to run msgs with the -c option should be placed in
/etc/periodic/daily (see periodic(8)) to run every night. This will remove
all messages over 21 days old. A different expiration may be specified on
the command line to override the default. You must be the superuser to use
Options when reading messages include:
-f Do not say ``No new messages.''. This is useful in a .login
file since this is often the case here.
-q Queries whether there are messages, printing ``There are new
messages.'' if there are. The command ``msgs -q'' is often
used in login scripts.
-h Print the first part of messages only.
-l Cause only locally originated messages to be reported.
num A message number can be given on the command line, causing msgs
to start at the specified message rather than at the next
message indicated by your .msgsrc file. Thus
msgs -h 1
prints the first part of all messages.
-number Start number messages back from the one indicated in the
.msgsrc file, useful for reviews of recent messages.
-p Pipe long messages through less(1).
Within msgs you can also go to any specific message by typing its number
when msgs requests input as to what to do.
The msgs utility uses the HOME and TERM environment variables for the
default home directory and terminal type.
~/.msgsrc number of next message to be presented
mail(1), less(1), aliases(5), periodic(8)
The msgs command appeared in 3.0BSD.
macOS 12.1 August 8, 2018 macOS 12.1