La commande time sous Linux affiche le temps nécessaire à l'exécution d'une commande. Il est utilisé avec d'autres commandes pour analyser le temps d'exécution.
La commande time est pratique pour mesurer les performances des scripts. Le temps passé est un indicateur important pour mesurer les performances.
Utiliser la commande time
L'utilisation de la commande time sous Linux est aussi simple que d'écrire "time" avant la commande que vous souhaitez exécuter. Voyons combien de temps il faut pour afficher la sortie de la commande ls :
$ time ls
Nous obtenons la sortie qui se compose de trois types de temps différents. Nous y reviendrons dans un instant.
Essayons une autre commande :
$ time ping linuxfordevices.com
La sortie de la commande time vient après la sortie de la commande avec laquelle nous l'exécutons.
Les trois types de temps à la fin sont réel, utilisateur etsys.
- Réel :Il s'agit du temps écoulé entre le moment où l'appel a été donné et le moment où l'appel est terminé. Il s'agit du temps qui s'est écoulé lorsqu'il est mesuré en temps réel.
- Utilisateur :Il s'agit du temps CPU passé en mode utilisateur.
- Système :Il s'agit du temps CPU passé en mode noyau. Sys est l'abréviation de temps système.
Versions de la commande time sous Linux
Il existe différentes versions de la commande time. Trois pour être précis. Ce sont :
- Frapper
- Zsh
- Temps GNU (sh)
Vous pouvez voir avec lequel vous utilisez :
$ type time
Selon la version que vous utilisez, vous obtiendrez le résultat suivant :
BASH
time is a shell keyword
ZSH
time is a reserved word
Le temps GNU
time is /usr/bin/time
Bash et Zsh ont leurs propres versions intégrées de la commande time qui ont priorité sur la commande GNU time si elles sont installées. Pour utiliser le temps de GNU, nous devrons le mentionner explicitement. Nous verrons cela ensuite.
1. Commande de temps GNU (par défaut)
Pour accéder à la commande time depuis GNU, utilisez :
$ /usr/bin/time
La commande Time de GNU donne une sortie plus détaillée.
$ /usr/bin/time ls
L'un des avantages de la commande GNU time est qu'il est facile de jouer avec. Pour afficher la sortie de manière détaillée, utilisez l'option -v avec la commande time.
$ /usr/bin/time -v ls
La commande GNU time vous permet de formater la sortie et de la stocker dans un fichier. Nous verrons cela ensuite.
2. Stocker la sortie dans un fichier
Pour enregistrer la sortie dans un fichier, utilisez le -o option avec la commande GNU time. La commande pour ce faire est :
$ /usr/bin/time -o time_output.txt ls
La commande créera un fichier nommé time_output.txt puis stockez-y la sortie.
Pour ajouter la sortie à la fin d'un fichier existant, utilisez la commande :
$ /usr/bin/time -a /home/smart/time-output.txt ls
3. Formatage de la sortie de l'heure GNU
Une autre variante disponible pour la commande GNU time est qu'elle peut être formatée et représentée de manière plus conviviale. Pour formater la sortie -f flag est utilisé avec la commande time.
La commande GNU time fournit une foule de spécificateurs de ressources qui peuvent être utilisés dans la commande.
Pour obtenir la liste des spécificateurs de ressources, utilisez la commande :
$ man /usr/bin/time
La façon de l'utiliser est :
$ /usr/bin/time -f "\t%C [Command name],\t%K [Total memory usage],\t%E [Time Elapsed]" ping journaldev.com
\t ajoute un onglet entre la sortie.
Conclusion
Nous avons vu l'utilisation de la commande time et sa version par défaut de la commande en action. L'utilisation de la commande time pour mesurer les performances des commandes/scripts est très courante. Pour en savoir plus sur la commande time, reportez-vous à sa page de manuel.