Как показать сообщение на терминале пользователям со стеной

12 set 2022 2 min di lettura
Как показать сообщение на терминале пользователям со стеной
Indice dei contenuti

Введение

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, за которой следует имя файла:

The system will be restarted in 10 minutes.
файл_сообщения.txt
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 записывает сообщение на терминалы всех подключенных в данный момент пользователей.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.