Introduzione
Per eseguire ripetutamente un comando o un lavoro a intervalli di tempo regolari mentre si lavora in Linux, è possibile utilizzare i lavori cron o gli script bash. Tuttavia, Linux offre anche una soluzione integrata più semplice:watch
comando.
In questo tutorial imparerai l'watch
sintassi dei comandi, come funziona e le diverse cose che può aiutarti a fare.
Prerequisiti
- Un sistema che esegue una distribuzione Linux (scopri come installare Ubuntu 20.04, come installare CentOS 7 o come installare Arch Linux)
- Un account con privilegi sudo
- Accesso alla finestra del terminale/riga di comando
Panoramica dei comandi di Linux Watch
L'watch
command è un'utilità Linux integrata utilizzata per eseguire comandi definiti dall'utente a intervalli regolari. Cancella temporaneamente tutto il contenuto del terminale e visualizza l'output del comando allegato, insieme alla data e all'ora di sistema correnti.
Per impostazione predefinita, il watch
il comando aggiorna l'output ogni due secondi. Premi Ctrl+C per uscire dall'output del comando.
L'watch
comando è utile quando è necessario monitorare le modifiche nell'output di un comando nel tempo. Ciò include l'utilizzo del disco, il tempo di attività del sistema o gli errori di rilevamento.
Sintassi del comando di controllo Linux
L'watch
comando utilizza la seguente sintassi:
watch [option] [command]
Dove:
[option]
:l'aggiunta di un'opzione cambia il modo in cuiwatch
comando si comporta. Le opzioni disponibili sono elencate di seguito.[command]
:un comando definito dall'utente che desideri eseguire ripetutamente.
L'watch
le opzioni dei comandi includono:
-n , --interval | Consente di specificare l'intervallo tra gli aggiornamenti dell'output. |
-d , --differences | Evidenzia le differenze tra gli aggiornamenti di output. |
-g , --chgexit | Esce da watch comando quando l'output del comando definito dall'utente cambia. |
-t , --no-title | Rimuove l'intestazione che mostra l'intervallo, il comando e l'ora e la data correnti. |
-b , --beep | Riproduce un avviso sonoro (beep) se il comando esce con un errore. |
-p , --precise | Tentativi di eseguire il comando dopo il numero esatto di secondi definito da --interval opzione. |
-e , --errexit | Interrompe gli aggiornamenti di output in caso di errore ed esce dal comando dopo la pressione di un tasto. |
-c , --color | Interpreta le sequenze di colori e stili ANSI. |
-x , --exec | Passa il comando definito dall'utente a exec , riducendo la necessità di citazioni aggiuntive. |
-w , --no-linewrap | Disattiva il ritorno a capo delle righe e tronca invece le righe lunghe. |
-h , --help | Visualizza il testo della guida ed esce. |
-v , --version | Visualizza le informazioni sulla versione ed esce. |
Esempi di comandi per Linux Watch
Ecco alcuni dei modi in cui puoi utilizzare watch
opzioni di comando per ottenere risultati diversi:
Esegui comando con un intervallo personalizzato
Imposta un intervallo personalizzato per eseguire un comando definito dall'utente e mostra l'output utilizzando il -n
o --interval
opzione:
watch -n [interval in seconds] [command]
Ad esempio, per visualizzare l'ora e la data del sistema ogni 5 secondi, eseguire:
watch -n 5 date
Evidenziazione delle modifiche tra gli aggiornamenti
Usa il -d
o --difference
opzione per evidenziare le modifiche tra aggiornamenti di output successivi:
watch -d [command]
Ad esempio, visualizza la data e l'ora del sistema nell'intervallo di 2 secondi predefinito con le modifiche evidenziate:
watch -d date
Passa =cumulative
al -d
opzione se vuoi che tutti i valori che sono mai cambiati rimangano evidenziati:
watch -d=cumulative date
Esci in caso di modifica
Il -g
o --chgexit
opzione fa uscire il comando watch se c'è una modifica nell'output:
watch -g [command]
Ad esempio, l'aggiunta del comando free monitora il consumo di memoria del tuo sistema ed esce se il valore cambia:
watch -g free
Nascondi l'intestazione del comando dell'orologio
Disattiva l'intestazione contenente l'intervallo di tempo, il comando definito dall'utente e l'ora di sistema corrente nel watch
output del comando utilizzando il -t
o --no-title
opzione:
watch -t [command]
Tornando all'esempio di visualizzazione della data e dell'ora del sistema, questa volta senza l'intestazione:
watch -t date
Avviso in caso di errore
L'watch
Il comando utilizza il pacchetto beep per riprodurre un avviso sonoro se l'aggiornamento dell'output non riesce a causa di un errore. Per farlo, usa il -b
o --beep
opzione:
watch -b [command]
Utilizzo di comandi complessi
L'watch
command consente inoltre di utilizzare comandi definiti dall'utente più complessi, con i propri argomenti e opzioni. Un modo per farlo è utilizzare la barra rovesciata ('\' ) simbolo:
watch [options] \
L'uso del comando sopra ti porta alla riga successiva nel terminale, dove devi aggiungere il comando definito dall'utente. Dopo aver premuto Invio , esegue il comando. Ad esempio:
watch -n 5 \
echo "watch command example output"
Un'altra opzione consiste nell'aggiungere il comando di definizione dell'utente tra virgolette singole:
watch [options] '[command]'
Utilizzando l'esempio sopra, il comando sarebbe:
watch -n 5 'echo "watch command example output"'