wall
è un'utilità della riga di comando che visualizza un messaggio sui terminali di tutti gli utenti che hanno effettuato l'accesso. I messaggi possono essere digitati sul terminale o il contenuto di un file. muro sta per scrivi tutto, per inviare un messaggio solo a un utente specifico usa il write
comando.
Di solito, gli amministratori di sistema inviano messaggi per annunciare la manutenzione e chiedono agli utenti di disconnettersi e chiudere tutti i programmi aperti. I messaggi vengono mostrati a tutti gli utenti che hanno effettuato l'accesso con un terminale aperto. Gli utenti che utilizzano un ambiente desktop grafico senza terminale aperto non vedranno i messaggi. Ogni utente può controllare l'accesso in scrittura al proprio terminale con il mesg
utilità. Quando il superutente invoca il wall
comando, tutti gli utenti ricevono i messaggi, indipendentemente dal loro mesg
impostazioni.
Trasmissione di un messaggio #
La sintassi per il wall
il comando è il seguente:
wall [OPTIONS] [<FILE>|<MESSAGE>]
Se non viene specificato alcun file wall
legge il messaggio dallo standard input.
Il modo più semplice per trasmettere un messaggio è invocare il wall
comando con il messaggio come argomento:
wall "The system will be restarted in 10 minutes."
Broadcast message from [email protected] (pts/0) (Sun Oct 4 19:22:07 2020):
The system will be restarted in 10 minutes.
Il messaggio verrà trasmesso a tutti gli utenti attualmente connessi.
Per vedere tutti gli utenti che hanno effettuato l'accesso, eseguiw
o who
comando.
Per sopprimere il banner e mostrare agli utenti loggati solo il testo che digiti, invoca il comando con il -n
(--nobanner
) opzione:
wall -n "The system will be restarted in 10 minutes."
The system will be restarted in 10 minutes.
Se vuoi scrivere messaggi su più righe, invoca il comando senza argomenti:
wall
Il wall
comando attenderà che tu inserisca il testo. Quando hai finito di digitare il messaggio, premi Ctrl+D
per terminare il programma e trasmettere il messaggio.
Puoi anche usare il reindirizzamento here-string o reindirizzare l'output di un altro comando a wall
. Ecco un esempio che mostra come usare echo
comando per trasmettere messaggi su più righe:
echo "The system will be restarted in 10 minutes. \nPlease save your work." | wall
Trasmissione di un messaggio da un file #
Se invii regolarmente gli stessi messaggi, puoi scriverli ciascuno in un file, in modo da non dover riscrivere lo stesso testo. wall
legge dal file solo quando viene invocato come root.
Per trasmettere il contenuto di un file, invoca il wall
comando seguito dal nome del file:
The system will be restarted in 10 minutes.
wall message1_file.txt
Broadcast message from [email protected] (pts/0) (Sun Oct 4 19:25:06 2020):
The system will be restarted in 10 minutes.
Trasmissione di un messaggio a un gruppo #
Per inviare un messaggio solo ai membri di un determinato gruppo, esegui il comando con -g
(--group
), seguito dal nome del gruppo. Ad esempio, per scrivere solo sui terminali dei membri del gruppo "devs", eseguiresti:
wall -g devs "The system will be restarted in 10 minutes."
Il gruppo può anche essere specificato dal suo GID (ID gruppo).
Conclusione #
Il wall
comando scrive un messaggio sui terminali di tutti gli utenti attualmente connessi.
Sentiti libero di lasciare un commento in caso di domande.