- Beginners Guide for Wall Command in Linux
- Tutorial Details
- Syntax of the Wall Command
- Broadcast Message to All Users
- Broadcast Message Without a Banner
- Broadcast Text Content from a File
- Broadcast Message to a Group of Users
- Broadcast Message Under Specific Time
- Conclusion
- How to Send Broadcast Message to Logged-in Users on Linux Terminals
- Send Messages to Logged-in Users Using the Wall Command
- Send Messages to a Specific Logged-in User
- How to Send a Message to Logged Users in Linux Terminal
- Linux for freshers
Beginners Guide for Wall Command in Linux
If you are a sysadmin, then wall command can be your next favorite Linux tool, thinking why? With the help of this tool, you can broadcast messages to all logged-in users on your system, either locally or via SSH.
This tool comes in handy, especially when you intend to start maintenance work (or something else) on your server and want to notify other users in advance.
Stick with this article until the end to learn more about the wall command and its different options (with practical examples).
Tutorial Details
Description | Broadcast Messages to All Users |
Difficulty Level | Low |
Root or Sudo Privileges | No |
Host System and Architecture | Ubuntu 22.10 (x64) |
OS Compatibility | Ubuntu, Manjaro, Fedora, etc. |
Prerequisites | wall |
Internet Required | No |
Discussed Tools in this Article |
Syntax of the Wall Command
The wall command takes two arguments: one is the option, and the other is the message or filename (yes, it accepts files) to be broadcast.
$ wall [OPTION] [MESSAGE or FILENAME]
Broadcast Message to All Users
The simplest way to use this command is to give the message as an argument that needs to be broadcasted to every user connected to your system.
$ wall "The server will be down for one hour for maintenance."
The terminal screen for other logged-in users will look like the one below after you issue the above command:
The first line in the above picture is the banner, which includes the information of the sender with its TTY along with the date and time when the message was sent.
As a sysadmin, you can hide this banner from the logged-in users screens when the message is broadcast by following the next section.
Broadcast Message Without a Banner
The “ -n ” flag will remove the banner from the terminal screen of the logged-in users when the message is broadcast by the sysadmin.
Note : Non root users are required to specify sudo at the beginning of the command.
$ sudo wall -n "The server will be down for one hour for maintenance."
Broadcast Text Content from a File
It might be inconvenient to broadcast a long text message from the terminal. If this is the case, you can put the message in a text file and use it as an argument to the wall command.
The following is the content of the text file:
$ cat msg The server will be down for one hour for maintenance.
You can copy the above content for demonstration purposes and save it to a file with the name “msg“. Then pass this file with its absolute or relative path as an argument to the wall command.
$ sudo wall msg
Broadcast Message to a Group of Users
Sometimes, you might not intend to broadcast a message for maintenance work; it can be anything else for a specific group of users.
In this case, you can use the “ -g ” flag with the group name as an argument to broadcast a message to a specific group of users; in the following example, it’s the “sudo” group.
$ wall -g sudo "The server will be down for one hour for maintenance."
The above command will send the specified message to all users in the sudo group.
Broadcast Message Under Specific Time
If the message you intend to send to other logged-in users becomes irrelevant after some time, you can use the “ -t ” flag using seconds as an argument under which it tries to broadcast the message.
$ wall -t 10 "The server will be down for one hour for maintenance."
Conclusion
As you learned from the different examples of wall commands in this article, this is a great way for you as an administrator to let other logged-in users know about certain events.
However, if you have any more tools for administrator command-line work in your hands, then do let me know in the comment section.
How to Send Broadcast Message to Logged-in Users on Linux Terminals
Linux is a multi-user operating system that allows multiple users to log in and use the system. This implies that at any given time, you might have several users logged in.
Sometimes, you might need to send a message or notification to all the users without necessarily placing a phone call or sending them emails. This is mostly when you want to announce a maintenance task or instruct them to log out.
In this guide, we will demonstrate how you can send messages to all logged-in users in the system. This only applies to users who are logged in via a terminal window using an SSH client such as PuTTY.
Send Messages to Logged-in Users Using the Wall Command
The wall command is a command-line utility that displays messages to all logged-in users on the terminal.
The wall command takes the following basic syntax:
If no file is specified, then the wall command reads the message from standard input and broadcasts it to all logged-in users.
For example, the following command reads the message enclosed in quotation marks as the argument and sends it to all logged-in users
# wall "The system will be shutting down at 1500HRS for maintenance. Apologies for any inconvenience caused".
When viewed from a logged-in user (in this case bob), the message appears as shown on the terminal window.
To display a message from a file, invoke the wall command followed by the file name as shown.
This is how the user receives the message on the terminal.
Send Messages to a Specific Logged-in User
Alternatively, you can use the write command to send a message to a specific user. To list all the currently logged-in users, invoke the who command:
For example, to send a message to a user called winnie and notify her about a system restarting in the next 3 hours, run the following write command with the echo command.
$ echo "This system will be restarted in 3 hours" | write winnie
On the user’s terminal, the message will appear as shown.
Conclusion
We have covered various ways of sending a message or notification to logged-in users using the wall and write commands. We hope that you can now send messages to logged-in users without a problem.
How to Send a Message to Logged Users in Linux Terminal
How can I send a messages to logged on users in a Linux server? If you are asking this question, then this guide will help you learn how to do that. We will demonstrate how to send a message to all or a specific logged on user, on the terminal in Linux.
Linux offers a variety of means for sending messages to users logged on to a server as explained in the two methods below.
In the first method, we will use wall command – write a message to all currently logged in users on the terminal as shown.
# wall "System will go down for 2 hours maintenance at 13:00 PM"
To disable the normal banner printed by wall, for example:
Broadcast message from [email protected] (pts/2) (Sat Dec 9 13:27:24 2017):
Add the -n (Suppress the banner) flag, this however, can only be used by the root user.
# wall -n "System will go down for 2 hours maintenance at 13:00 PM"
In the second method, we will use write command, which comes pre-installed on all if not most Linux distributions. It allows you to send a message to another user in the terminal using tty.
First check the all logged on users with the who command as shown.
There are currently two users are active on the system (tecmint and root), now the user aaronkilik is sending a message to the root user.
$ write root pts/2 #press Ctrl+D after typing the message.
That’s all! Do share with us other methods or commands for sending messages to all logged on users through the terminal in Linux. If you have any queries, please use the feedback form below.
Linux for freshers
Wall displays the contents of a file or, by default, its standard input, on the terminals of all currently logged-in users. The command will cut over 79 character long lines to new lines. Short lines are white space padded to have 79 characters. The command will always put the carriage return and new line at the end of each line.
Only the super-user can write on the terminals of users who have chosen to deny messages or are using a program that automatically denies messages.
Reading from a file is refused when the invoker is not a superuser and the program is suid or sgid.
Usually, system administrators send messages to announce maintenance and ask users to log out and close all open programs. The messages are shown to all logged-in users with a terminal open.
wall [-n] [-t timeout] [message | file]
The most straightforward way to broadcast a message is to invoke the wall command with the message as the argument:
wall «The system will be restarted in 10 minutes.»
Broadcast message fromroot@linuxforfreshers (pts/0) (Mon Jan 4 13:22:07 2021):
The system will be restarted in 10 minutes.
The message will be broadcasted to all users that are currently logged in.
To suppress the banner and show only the text you types to the logged-in users, invoke the command with the -n (—nobanner) option:
wall -n «The system will be restarted in 10 minutes.»
The system will be restarted in 10 minutes.
If you want to write multi-line messages, invoke the command without an argument:
The wall command will wait for you to enter text. When you’re done typing the message, press Ctrl+D to end the program and broadcast the message.
You can also use the here-string redirection or pipe the output of another command to wall. Here is an example showing how to use the echo command to broadcast multi-line messages:
echo «The system will be restarted in 10 minutes. \nPlease save your work.» | wall
Broadcast Message from root@linuxforfreshers
The system will be restarted in 10 minutes. \nPlease save your work.
Broadcasting a Message From a File
If you are regularly sending the same messages, you can write each one of them to a file, so that you don’t need to re-type the same text. wall reads from the file only when invoked as root.
To broadcast the contents of a file, invoke the wall command followed by the file name:
The system will be restarted in 10 minutes.
Broadcast message from root@linuxforfreshers (pts/0) (Mon Jan 4 13:30:07 2021):
The system will be restarted in 10 minutes.