La commande watch sur Linux est un utilitaire en ligne de commande qui permet d’exécuter périodiquement une autre commande ou un script et d’afficher sa sortie en temps réel.
Cela permet de surveiller les résultats d’une commande ou d’un script de manière continue, sans avoir à ré-exécuter manuellement la commande à chaque fois.
L’utilitaire watch fait partie du paquet procps (ou procps-ng) qui est préinstallé sur presque toutes les distributions Linux.
Dans ce tutoriel, je vous montre comment utiliser la commande watch avec des exemples.
Syntaxe de la commande watch de Linux
Voici la syntaxe de l’utilitaire :
watch <options> <commande>
Options | Description |
n, –interval= | Spécifie l’intervalle de temps en secondes entre deux exécutions de la commande. Par exemple, -n 5 spécifie un intervalle de 5 secondes. |
-d, –differences | Met en évidence les changements entre deux exécutions consécutives de la commande. |
-t, –no-title | Supprime la ligne de titre affichant l’heure actuelle et le nom de la commande. |
-b, –beep | Joue un son d’alerte (bip) si la commande se termine par une erreur. |
-p, –precise | Tente d’exécuter la commande après le nombre exact de secondes défini par l’option –interval. |
-e, –errexit | Arrête la mise à jour de la sortie en cas d’erreur et quitte la commande après avoir appuyé sur une touche. |
-c, –color | Interprète les séquences de couleurs et de styles ANSI. |
-x, –exec | Transmet la commande définie par l’utilisateur à exec, ce qui réduit la nécessité d’utiliser des guillemets supplémentaires. |
-w, –no-linewrap | Désactive le retour à la ligne et tronque les longues lignes. |
-h, –help | Affiche le texte d’aide et quitte. |
-v, –version | Affiche les informations sur la version et quitte. |
Comment utiliser la commande watch avec des exemples
Utilisation basique
Pour mieux illustrer le fonctionnement de la commande watch, exécutons la commande date :
watch date
La commande watch efface le contenu du terminal (mais il n’est pas perdu) pour afficher le résultat de la commande.
Par défaut, sans option, la fréquence d’exécution de la commande est de 2s.
En haut à gauche de l’en-tête de l’écran, vous pouvez voir l’intervalle de mise à jour de watch et la commande exécutée (Every 2.0s : date), tandis qu’en haut à gauche, watch affiche l’heure et la date actuelles. Si vous souhaitez désactiver l’en-tête, utilisez l’option -t(–no-title).
La sortie de la commande spécifiée est affichée à l’écran et mise à jour régulièrement toutes les deux secondes.
Pour quitter la commande watch, il suffit d’appuyer sur la combinaison de
CTRL+C.Comment modifier l’intervalle de temps
Que faire si l’intervalle de mise à jour par défaut de deux secondes ne convient pas à votre cas d’utilisation ?
L’option -n (–interval) suivie du nombre de secondes souhaité vous permet de modifier l’intervalle de temps entre les mises à jour :
watch -n <intervalle en seconde> <commande>
Par exemple, pour surveiller l’utilisation de l’espace disque avec la commande df et rafraîchir l’écran toutes les cinq secondes, vous devez exécuter la commande suivante :
watch -n 5 df
Mise en évidence de la différence entre les mises à jour
L’option -d (–différence) permet à watch de mettre en évidence les changements entre deux mises à jour successives.
watch -d <commande>
Supposons que vous souhaitiez surveiller le temps de fonctionnement du système en exécutant la commande uptime et mettre en évidence les changements. La commande serait la suivante :
watch -d uptime
Si vous souhaitez que les surlignements restent collés, ajoutez =cumulative à l’option -d. Cela signifie que toutes les valeurs qui ont été modifiées resteront en surbrillance.
watch -d=cumulative <commande>
Commandes avec des tuyaux (pipe)
Si vous voulez exécuter une commande qui contient des tuyaux, vous devez mettre la commande entre guillemets simples ou doubles. Si vous ne mettez pas la commande complète entre guillemets, watch n’exécutera que la première commande, puis dirigera sa sortie vers la commande suivante dans le pipeline.
watch <commande1> | <commande 2>
Par exemple, la commande suivante surveillera le nombre de connexions actives sur le port 80 en utilisant une combinaison des utilitaires ss et grep :
watch "ss -t|grep :https"
Quitter en cas de changement
L’option -g ou –chgexit permet à la commande watch de sortir en cas de changement dans la sortie :
watch -g <commande>
Par exemple, l’ajout de la commande free permet de surveiller la consommation de mémoire de votre système et de quitter la commande si la valeur change :
watch -g free
Masquer l’en-tête de la commande watch
Désactivez l’en-tête contenant l’intervalle de temps, la commande définie par l’utilisateur et l’heure actuelle du système dans la sortie de la commande watch en utilisant l’option -t ou –no-title :
watch -t <commande>
Revenons à l’exemple de l’affichage de la date et de l’heure du système, cette fois sans l’en-tête :
watch -t date
Liens
- La commande ls Linux : utilisation et exemples
- Commande find Linux : Exemples d’utilisation pour rechercher des fichiers
- Copier ou déplacer un fichier sur Linux
- Comment renommer un fichier sur Linux
- La commande cp de Linux : Exemples d’utilisation
- Copier des fichiers ou répertoire dans un terminal sur Linux
- La commande mv : déplacer des fichiers ou répertoires
- La commande rename Linux : utilisation et exemples
- Commande rm Linux : Utilisations et exemples
- Comment supprimer un fichier ou répertoire sur Linux
- rsync : synchroniser, copier des fichiers à distance ou locaux
- Commande locate : utilisations et exemples
- La commande cd Linux : utilisation et exemple
- Comment utiliser la commande tree avec des exemples sur Linux
- Command find : utilisations et exemples pour rechercher des fichiers
- Comment chercher un fichier sur Linux
L’article watch Linux : exécuter une commande à intervalles réguliers est apparu en premier sur malekal.com.
0 Commentaires