В среде Linux существуют сценарии, когда несколько пользователей одновременно работают на сервере через SSH. Однако иногда системному администратору необходимо перезапустить или выключить систему, например, из-за обслуживания системы, обновления ядра, добавления или удаления оборудования с сервера. В этом случае системный администратор должен проинформировать всех вошедших в систему пользователей, чтобы они сохранили свою работу. Электронная почта не подходит в этой ситуации, так как вам сначала нужно узнать, кто вошел в систему, а затем отправлять им электронные письма. Кроме того, вы не знаете, когда пользователь прочитает письмо. К счастью, в Linux есть команда «wall», которая позволяет это легко сделать.
Здесь мы собираемся описать использование команды стены в Linux. Помните, что команда wall работает одинаково для всех дистрибутивов Linux.
Команда стены Linux
Команда Wall в Linux позволяет отправлять сообщение или содержимое файла всем пользователям, вошедшим в систему в данный момент. Если файл или сообщение не указаны, команда wall считывает сообщение со стандартного ввода (стандартный ввод).
Синтаксис команды wall следующий:
$ wall [options] [message-or-filename]
Отправить сообщение всем пользователям
Чтобы отправить сообщение всем пользователям, вошедшим в систему, введите wall, а затем сообщение, которое вы хотите отправить.
$ wall Система выходит из строя на 1 час обслуживания.
Эта команда отправит сообщение всем вошедшим в систему пользователям с открытым окном терминала.
Команда wall также считывает сообщение из стандартного ввода (стандартный ввод). Для этого просто введите wall и нажмите Enter.
$ wall
После этого введите любое сообщение или сообщения, которые вы хотите отправить зарегистрированным пользователям. Когда вы закончите вводить сообщения, нажмите Ctrl + D, чтобы отправить эти сообщения.
this is first line this is second line .
Вот результат, который все зарегистрированные пользователи получили на своем Терминале.
Отправить сообщение из файла
Если есть какие-то сообщения, которые вам нужно часто повторять, вы можете просто ввести их в файл. Когда вам нужно отправить эти сообщения вошедшим в систему пользователям, просто вызовите этот файл с помощью команды wall. Помните, что вам потребуются привилегии sudo, если вы хотите отправить сообщение из файла.
$ sudo wall <filename>
Например, в следующем выводе содержимое файла было сначала показано с помощью команды cat. Затем, чтобы отправить сообщение, содержащееся в файле, имя файла передается команде wall.
Это выходные данные (из файла msg.txt ), полученные вошедшими в систему пользователями.
Отправить сообщение группе
Вместо того, чтобы отправлять сообщение всем вошедшим в систему пользователям, вы можете отправить его только тем членам группы, которые в данный момент вошли в вашу систему. Синтаксис следующий:
$ wall -g [group] [message]
Например, чтобы отправить сообщение группе с именем «sshusers», команда будет выглядеть так:
$ wall -g sshusers Система выходит из строя на 1 час обслуживания.
Все члены группы «sshusers», которые в данный момент вошли на сервер, получат указанное сообщение.
Подавить баннер
Команда wall отображает баннер перед отображением сообщения.
Чтобы подавить этот баннер, используйте параметр -n с командой wall:
$ wall -n <message>
Например, следующая команда будет отображать только указанное сообщение при подавлении баннера.
$ wall -n Система выходит из строя на 1 час обслуживания.
Все вошедшие в систему пользователи Терминала получат сообщение без баннера.
Просмотр информации о версии
Чтобы просмотреть версию команды стены, используйте следующую команду:
$ wall -V
Следующий вывод показывает версию утилиты wall 2.34.
Wall – это удобная утилита, которая помогает администратору многопользовательской системы быстро уведомлять других пользователей о необходимости сохранения их работы перед выключением или перезагрузкой системы. В этой статье мы рассмотрели, как использовать команду wall для связи с вошедшими в систему пользователями. Надеюсь, вы найдете это интересным и полезным.