La commande time est utilisée pour déterminer la durée d'exécution d'une commande donnée. Il est utile pour tester les performances de vos scripts et commandes.
Par exemple, si vous avez deux scripts différents qui font le même travail et que vous voulez savoir lequel fonctionne le mieux, vous pouvez utiliser la commande Linux time pour déterminer la durée d'exécution de chaque script.
Versions de commande de temps #
Bash et Zsh, les shells Linux les plus largement utilisés, ont leurs propres versions intégrées de la commande time qui ont priorité sur la commande Gnu time.
Vous pouvez utiliser le type
commande pour déterminer si time est un binaire ou un mot-clé intégré.
type time
# Bash
time is a shell keyword
# Zsh
time is a reserved word
# GNU time (sh)
time is /usr/bin/time
Pour utiliser la commande Gnu time, vous devez spécifier le chemin complet vers le binaire time, généralement /usr/bin/time
, utilisez le env
commande ou utilisez une barre oblique inverse \time
qui empêche à la fois et les intégrés d'être utilisés.
L'heure Gnu vous permet de formater la sortie et fournit d'autres informations utiles comme les E/S mémoire et les appels IPC.
Utilisation de la commande de temps Linux #
Dans l'exemple suivant, nous allons mesurer le temps de téléchargement du noyau Linux à l'aide de l'outil wget :
time wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.9.tar.xz
Ce qui sera imprimé en sortie dépend de la version de la commande time que vous utilisez :
# Bash
real 0m33.961s
user 0m0.340s
sys 0m0.940s
# Zsh
0.34s user 0.94s system 4% cpu 33.961 total
# GNU time (sh)
0.34user 0.94system 0:33.96elapsed 4%CPU (0avgtext+0avgdata 6060maxresident)k
0inputs+201456outputs (0major+315minor)pagefaults 0swaps
- réel ou total ou écoulé (horloge murale) est le temps entre le début et la fin de l'appel. C'est le temps à partir du moment où vous appuyez sur
Enter
clé jusqu'au moment où lewget
la commande est terminée. - utilisateur - quantité de temps CPU passé en mode utilisateur.
- système ou sys - quantité de temps CPU passé en mode noyau.
Conclusion #
Vous devriez maintenant avoir une bonne compréhension de l'utilisation de la commande time. Si vous souhaitez en savoir plus sur la commande Gnu time, consultez la page de manuel time.