Exécution de commandes répétées dans un terminal Linux
L’exécution de la même commande plusieurs fois dans un environnement Linux peut être réalisée à l’aide de différentes méthodes, selon vos besoins spécifiques. Ce guide détaillera les principales techniques que vous pouvez utiliser pour répéter des commandes efficacement.
Comment exécuter la même commande plusieurs fois sous Linux ?
Pour exécuter une instruction plusieurs fois, Bash fournit des outils pratiques. Utilisez une boucle for
pour cela, de la manière suivante :
Syntaxe de base :
for i in {1..N}; do commande done
Dans cette structure, remplacez
N
par le nombre de répétitions souhaité etcommande
par la commande que vous désirez exécuter.Accès aux variables d’itération :
Si vous avez besoin de référencer l’index de l’itération (ici,i
), faites-le avec${i}
pour éviter toute confusion.- Exécution :
Tapez votre script dans le terminal et appuyez sur la touche Entrée pour l’exécuter.
Répéter une commande à intervalles réguliers
Si vous devez exécuter une commande à intervalles réguliers, vous pouvez utiliser la commande watch
:
Utilisation de
watch
:watch -n X commande
Ici,
X
représente l’intervalle en secondes entre les exécutions de votre commande.- Exemple :
Si vous voulez vérifier chaque 5 secondes l’utilisation du système, vous pouvez utiliser :watch -n 5 df -h
Exécution de commandes en boucle infinie
Pour des commandes que vous souhaitez voir s’exécuter en boucle jusqu’à interruption, un while
est idéal :
Syntaxe :
while true; do commande sleep X done
Remplacez
X
avec le nombre de secondes que vous souhaitez attendre entre chaque exécution.- Exemple pratique :
Pour afficher l’heure tous les 10 secondes :while true; do date sleep 10 done
Utilisation de cron pour les tâches planifiées
Si vous avez besoin d’exécuter une commande de manière périodique, la configuration d’un cron job est une solution efficace.
Accéder à crontab :
Lancez la commande suivante dans votre terminal :crontab -e
Planifier une tâche :
Pour exécuter une commande toutes les 5 minutes, ajoutez cette ligne :*/5 * * * * commande
- Enregistrer et quitter votre éditeur de texte.
Réexécution de la commande précédente
Il existe également des méthodes pour réexécuter la dernière commande exécutée. Vous n’avez pas besoin de la retaper.
Utilisation du raccourci :
Appuyez surCTRL + R
pour lancer la recherche des précédentes commandes.Exécution avec
!!
:
Tapez!!
pour exécuter de nouveau la dernière commande.fc
pour modifier la commande :
La commandefc
vous permet de corriger et de réexécuter la dernière commande.
FAQ
Q1 : Quelle commande utiliser pour voir l’historique des commandes précédentes ?
R : Utilisez la commande history
pour afficher toutes les commandes que vous avez exécutées dans votre session terminal.
Q2 : Est-il possible de spécifier un délai aléatoire entre les exécutions ?
R : Oui, vous pouvez utiliser des commandes comme shuf
pour générer un délai aléatoire dans votre boucle de répétition.
Q3 : Comment puis-je interrompre une commande en cours d’exécution dans le terminal ?
R : Vous pouvez annuler une commande en cours d’exécution en appuyant sur CTRL + C
.