Der time-Befehl in Linux gibt aus, wie lange es dauert, bis ein Befehl ausgeführt wird. Es wird zusammen mit anderen Befehlen verwendet, um die Ausführungszeit zu analysieren.
Der time-Befehl ist praktisch, um die Leistung von Skripten zu messen. Die benötigte Zeit ist ein wichtiger Messwert zur Leistungsmessung.
Mit dem Zeitbefehl
Die Verwendung des time-Befehls in Linux ist so einfach wie das Schreiben von „time“ vor dem Befehl, den Sie ausführen möchten. Mal sehen, wie lange es dauert, die Ausgabe des Befehls ls anzuzeigen:
$ time ls
Wir erhalten die Ausgabe, die aus drei verschiedenen Arten von Zeiten besteht. Wir kommen gleich darauf zurück.
Versuchen wir es mit einem anderen Befehl:
$ time ping linuxfordevices.com
Die Ausgabe des time-Befehls kommt nach der Ausgabe des Befehls, mit dem wir ihn ausführen.
Die drei Arten von Zeiten am Ende sind real, user undsys.
- Echt :Dies ist die Zeit, die ab dem Anruf bis zum Abschluss des Anrufs verstrichen ist. Dies ist die Zeit, die vergangen ist, wenn sie in Echtzeit gemessen wird.
- Benutzer :Dies ist die im Benutzermodus verbrachte CPU-Zeit.
- Sys :Dies ist die Menge an CPU-Zeit, die im Kernelmodus verbracht wird. Sys ist die Abkürzung für Systemzeit.
Versionen des Zeitbefehls in Linux
Es gibt verschiedene Versionen des Zeitbefehls. Drei um genau zu sein. Diese sind:
- Bash
- Zsh
- GNU-Zeit (sh)
Mit :
können Sie sehen, welches Sie verwenden$ type time
Je nach verwendeter Version erhalten Sie folgende Ausgabe:
BASH
time is a shell keyword
ZSH
time is a reserved word
GNU-Zeit
time is /usr/bin/time
Bash und Zsh haben ihre eigenen eingebauten Versionen des time-Befehls, die Vorrang vor dem GNU-time-Befehl haben, wenn sie installiert sind. Um Zeit von GNU zu verwenden, müssen wir es ausdrücklich erwähnen. Das sehen wir uns als nächstes an.
1. GNU-Zeitbefehl (Standard)
Um auf den Zeitbefehl von GNU zuzugreifen, verwenden Sie:
$ /usr/bin/time
Der Zeitbefehl von GNU gibt eine detailliertere Ausgabe.
$ /usr/bin/time ls
Ein Vorteil des GNU-Zeitbefehls ist, dass es einfach ist, damit herumzuspielen. Um die Ausgabe ausführlich anzuzeigen, verwenden Sie die Option -v mit dem Zeitbefehl.
$ /usr/bin/time -v ls
Mit dem GNU-Befehl time können Sie die Ausgabe formatieren und in einer Datei speichern. Das sehen wir uns als nächstes an.
2. Speichern der Ausgabe in einer Datei
Um die Ausgabe in einer Datei zu speichern, verwenden Sie -o Option mit dem GNU-Zeitbefehl. Der Befehl dazu lautet:
$ /usr/bin/time -o time_output.txt ls
Der Befehl erstellt eine Datei mit dem Namen time_output.txt und speichern Sie dann die Ausgabe darin.
Um die Ausgabe an das Ende einer bestehenden Datei anzuhängen, verwenden Sie den Befehl :
$ /usr/bin/time -a /home/smart/time-output.txt ls
3. Formatierung der GNU-Zeitausgabe
Eine weitere Variation, die für den GNU-Zeitbefehl verfügbar ist, besteht darin, dass er freundlicher formatiert und dargestellt werden kann. Um die Ausgabe zu formatieren -f Flag wird zusammen mit dem Zeitbefehl verwendet.
Der GNU-Zeitbefehl bietet eine Vielzahl von Ressourcenbezeichnern, die im Befehl verwendet werden können.
Verwenden Sie den Befehl :
, um die Liste der Ressourcenbezeichner abzurufen$ man /usr/bin/time
Die Art und Weise, dies zu verwenden, ist:
$ /usr/bin/time -f "\t%C [Command name],\t%K [Total memory usage],\t%E [Time Elapsed]" ping journaldev.com
\t fügt einen Tabulator zwischen der Ausgabe ein.
Schlussfolgerung
Wir haben die Verwendung des Befehls time und seiner Standardversion des Befehls in Aktion gesehen. Die Verwendung des Zeitbefehls zum Messen der Leistung von Befehlen/Skripten ist weit verbreitet. Um mehr über den Zeitbefehl zu erfahren, lesen Sie seine Manpage.