GNU/Linux >> Linux Esercitazione >  >> Linux

Controlla i comandi e le attività con il comando watch di Linux

Ci sono molte volte in cui devi aspettare che qualcosa finisca, come ad esempio:

  • Scarica un file.
  • Creazione o estrazione di un file tar.
  • Un lavoro Ansible.

Alcuni di questi processi hanno una sorta di indicazione del progresso, ma a volte il processo viene eseguito attraverso uno strato di astrazione e l'unico modo per misurare il progresso è attraverso i suoi effetti collaterali. Alcuni di questi potrebbero essere:

  • Un file scaricato continua a crescere.
  • Una directory estratta da un tarball si riempie di file.
  • Il lavoro Ansible crea un container.

Puoi interrogare tutte queste cose con comandi come questi:

$ ls -l downloaded-file
$ find . | wc -l
$ podman ps
$ docker ps

Ma eseguendo questi comandi più e più volte, anche se è con la comodità della cronologia di Bash e della Freccia su , è noioso.

Un altro approccio è scrivere un piccolo script Bash per automatizzare questi comandi per te:

while :
do
  docker ps
  sleep 2
done

Ma tali script possono anche diventare noiosi da scrivere. Potresti scrivere un piccolo script generico e impacchettarlo, quindi è sempre disponibile per te. Fortunatamente, altri sviluppatori open source sono già stati lì e l'hanno fatto.

Il risultato è il comando watch .

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Installazione dell'orologio

L'watch il comando fa parte del procps-ng pacchetto, quindi se sei su Linux, lo hai già installato.

Su macOS, installa watch usando MacPorts o Homebrew. Su Windows, usa Chocolatey.

Utilizzo dell'orologio

L'watch comando esegue periodicamente un comando e ne mostra l'output. Ha alcune sottigliezze del terminale di testo, quindi solo l'ultimo output è sullo schermo.

L'utilizzo più semplice è:watch <command> .

Ad esempio, anteponendo la docker ps comando con watch funziona così:

$ watch docker ps

L'watch comando e alcuni trucchi creativi da riga di comando Unix possono generare dashboard ad hoc. Ad esempio, per contare gli eventi di controllo:

$ watch 'grep audit: /var/log/kern.log |wc -l'

Nell'ultimo esempio, è probabilmente utile se è presente un'indicazione visiva che il numero di eventi di controllo è cambiato. Se è previsto un cambiamento, ma vuoi che qualcosa appaia "diverso", watch --differences funziona bene. Evidenzia eventuali differenze rispetto all'ultima corsa. Funziona particolarmente bene se stai grepping in più file, in modo da poter vedere facilmente quale è stato modificato.

Se non sono previste modifiche, puoi chiedere che vengano evidenziate "permanentemente" per sapere quali indagare utilizzando watch --differences=permanent . Questo è spesso più utile.

Frequenza di controllo

Infine, a volte il comando potrebbe richiedere molte risorse e non dovrebbe essere eseguito troppo frequentemente. Il -n parametro controlla la frequenza. Watch utilizza due secondi per impostazione predefinita, ma watch -n 10 potrebbe essere appropriato per qualcosa di più dispendioso in termini di risorse, come grepping per un pattern in qualsiasi file in una sottodirectory:

$ watch -n 10 'find . -type f | xargs grep suspicious-pattern'

Guarda un comando con watch

L'watch Il comando è utile per molte attività di amministrazione del sistema ad hoc in cui è necessario attendere alcuni passaggi dispendiosi in termini di tempo, senza una barra di avanzamento, prima di passare a quello successivo. Anche se non è una bella situazione in cui trovarsi, watch può renderlo leggermente migliore e darti il ​​tempo di iniziare a lavorare su quelle note per la retrospettiva! Scarica il cheat sheet  per tenere a portata di mano sintassi e opzioni utili.


Linux
  1. Pianificazione delle attività con il comando cron di Linux

  2. Ruota e archivia i registri con il comando logrotate di Linux

  3. Trova file e directory su Linux con il comando find

  4. Pianifica un'attività con il comando Linux at

  5. Comandi Linux - Panoramica ed esempi

Comando Linux watch con esempi

7 modi per usare il comando Linux Watch

I comandi alias e unalias spiegati con esempi

Come trovare file con il comando fd in Linux

5 dei comandi più noiosi in Linux

I 40 comandi utili del server Linux per principianti e professionisti