MSGS(1) FreeBSD General Commands Manual MSGS(1)


msgssystem messages and junk mail program


msgs [ -fhlpq][ number][ -number]

msgs [ -s]

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 are:

Type the rest of the message.
Synonym for y.
Skip this message and go on to the next message.
Redisplay the last message.
Drop out of msgs; the next time msgs will pick up where it last left off.
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''.
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 this option.

Options when reading messages include:

Do not say ``No new messages.''. This is useful in a .login file since this is often the case here.
Queries whether there are messages, printing ``There are new messages.'' if there are. The command ``msgs -q'' is often used in login scripts.
Print the first part of messages only.
Cause only locally originated messages to be reported.
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.

Start number messages back from the one indicated in the .msgsrc file, useful for reviews of recent messages.
Pipe long messages through more(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.


number of next message to be presented


The msgs command appeared in 3.0BSD.
April 28, 1995 FreeBSD