Ricerca nel sito web

Tutorial sui comandi di Linux watch per principianti (5 esempi)


Su questa pagina

  1. Comando di controllo di Linux
  2. D1. Come funziona il comando watch?
  3. Q2. Come fare in modo che l'orologio evidenzi la differenza tra gli aggiornamenti?
  4. Q3. Come personalizzare l'intervallo di aggiornamento?
  5. Q4. Come disattivare l'intestazione in output?
  6. D5. Come far uscire l'orologio quando l'output cambia?
  7. Conclusione

A volte, mentre lavori sulla riga di comando di Linux, potresti voler eseguire ripetutamente un comando in modo da tenere traccia di eventuali modifiche nell'output. Bene, sarai felice di sapere che esiste un'utilità della riga di comando che ti consente di farlo. Lo strumento in questione è Watch e in questo tutorial discuteremo alcune delle sue funzionalità di base utilizzando alcuni esempi di facile comprensione.

Ma prima di farlo, vale la pena ricordare che tutti gli esempi utilizzati in questo articolo sono stati testati su Ubuntu 22.04 LTS.

Comando di controllo di Linux

Come già accennato, l'utilità watch consente di eseguire ripetutamente un comando. Di seguito è riportata la sintassi di questo comando:

watch [options] command

Ed ecco come la pagina man degli strumenti lo descrive:

watch runs command repeatedly, displaying its output and errors (the
first screenfull). This allows you to watch the program output change
over time. By default, the program is run every 2 seconds. By
default, watch will run until interrupted.

Di seguito sono riportati alcuni esempi in stile Q&A che dovrebbero darti una buona idea di come funziona il comando watch.

Q1. Come funziona il comando watch?

L'utilizzo di base del comando watch è molto semplice: tutto ciò che devi fare è eseguire lo strumento con un nome di comando come input. Per esempio:

watch date

Il comando precedente ha prodotto il seguente output sul mio sistema:

La prima riga dell'output indica che l'output del comando date viene aggiornato ogni 2 secondi (questo è l'intervallo di tempo predefinito), seguito dalla data/ora corrente del sistema. La seconda riga è l'output effettivo del comando date che viene aggiornato dopo ogni paio di secondi.

D2. Come fare in modo che l'orologio evidenzi la differenza tra gli aggiornamenti?

Come già spiegato nella sezione precedente, l'output del comando tracciato viene regolarmente aggiornato (dopo 2 secondi per impostazione predefinita). Se lo desideri, puoi anche fare in modo che l'orologio evidenzi la parte dell'output che cambia tra gli aggiornamenti.

Puoi farlo usando l'opzione della riga di comando -d. Per esempio:

watch -d date

Ed ecco come il comando watch evidenzia ora le modifiche:

D3. Come personalizzare l'intervallo di aggiornamento?

Come già accennato, l'intervallo di aggiornamento predefinito è di 2 secondi. Tuttavia, se lo desideri, puoi modificare questo valore utilizzando l'opzione della riga di comando -n, che richiede di passare il nuovo valore dell'intervallo come input.

Per esempio:

watch -n 5 date

Questo comando assicurerà che l'output venga aggiornato ogni 5 secondi. Si prega di notare che gli intervalli inferiori a 0,1 secondi non sono consentiti.

Nota: per assicurarsi che l'intervallo di intervallo sia rispettato in modo molto preciso, utilizzare l'opzione della riga di comando -p. Ecco come la pagina man descrive questa opzione:

Make watch attempt to run command every interval seconds. Try it
with ntptime and notice how the fractional seconds stays
nearly) the same, as opposed to normal mode where they continu?
ously increase.

D4. Come disattivare l'intestazione in output?

Se lo desideri, puoi anche chiedere all'orologio di disattivare l'intestazione che mostra l'intervallo, il comando e l'ora
corrente nella parte superiore del display, nonché la seguente riga vuota. Questo può essere fatto usando l'opzione della riga di comando -t.

Per esempio:

watch -t date

Ecco l'output prodotto dal comando precedente:

Quindi puoi vedere che l'intestazione è stata completamente rimossa.

Q5. Come far uscire l'orologio quando l'output cambia?

Se si desidera che il comando watch termini dopo che è stata rilevata una modifica nell'output, utilizzare l'opzione della riga di comando -g.

Per esempio:

watch -g free

Quindi, ogni volta che il consumo di memoria nel sistema cambia, il comando watch terminerà.

Conclusione

Come ormai avrai capito, watch è un modo eccellente per tenere traccia delle modifiche, sia a livello di sistema, a livello di directory o persino a livello di file. Qui, in questo tutorial, abbiamo discusso diverse opzioni chiave della riga di comando di watch. Una volta che hai finito di esercitarti, vai al comando tools tee.