Введение
wall
— это утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей. Сообщения можно вводить в терминал или в файл. стена означает запись всех, чтобы отправить сообщение только определенному пользователю, используйте команду write
.
Обычно системные администраторы рассылают сообщения о техническом обслуживании и просят пользователей выйти из системы и закрыть все открытые программы. Сообщения показываются всем зарегистрированным пользователям с открытым терминалом. Пользователи, использующие графическую среду рабочего стола без открытого терминала, не увидят сообщения. Каждый пользователь может управлять доступом на запись к своему терминалу с помощью утилиты mesg
. Когда суперпользователь вызывает команду wall
, все пользователи получают сообщения, независимо от их mesg
сообщений.
Послать сообщение
Синтаксис команды wall
следующий:
wall [OPTIONS] [<FILE>|<MESSAGE>]
Если файл не указан, wall
читает сообщение со стандартного ввода.
Самый простой способ передать сообщение — вызвать команду wall
с сообщением в качестве аргумента:
wall "The system will be restarted in 10 minutes."
Broadcast message from root@TEST-SERVER-1 (pts/0) (Tue Oct 6 19:31:26 2020):
The system will be restarted in 10 minutes.
Сообщение будет передано всем зарегистрированным в данный момент пользователям.
Чтобы просмотреть всех вошедших в систему пользователей, выполните команду w
или who
.
Чтобы скрыть баннер и показать только набранный текст зарегистрированным пользователям, вызовите команду с параметром -n
( --nobanner
):
wall -n "The system will be restarted in 10 minutes."
The system will be restarted in 10 minutes.
Если вы хотите писать многострочные сообщения, вызовите команду без аргументов:
wall
Команда wall
будет ждать, пока вы введете текст. Когда вы закончите вводить сообщение, нажмите Ctrl+D
, чтобы закрыть программу и передать сообщение.
Вы также можете использовать перенаправление здесь-строки или перенаправить вывод другой команды на wall
. Вот пример, показывающий, как использовать команду echo
для передачи сообщений по нескольким строкам:
echo "The system will be restarted in 10 minutes. \nPlease save your work." | wall
Передать сообщение из файла
Если вы регулярно отправляете одни и те же сообщения, вы можете записать каждое из них в файл, чтобы вам не приходилось снова набирать один и тот же текст. wall
читает из файла, только если вызывается от имени пользователя root.
Чтобы транслировать содержимое файла, вызовите команду wall
, за которой следует имя файла:
wall message_file.txt
Broadcast message from root@TEST-SERVER-1 (pts/0) (Tue Oct 6 19:31:26 2020):
The system will be restarted in 10 minutes.
Рассылка сообщения группе
Чтобы отправить сообщение только членам определенной группы, запустите команду с параметром -g
( --group
), за которым следует имя группы. Например, чтобы писать на терминалы только членов группы разработчиков, вы должны запустить:
wall -g devs "The system will be restarted in 10 minutes."
Группа также может быть указана по ее GID (идентификатору группы).
Вывод
Команда wall
записывает сообщение на терминалы всех подключенных в данный момент пользователей.