GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Überprüfen Sie, wie lange die Ausführung eines Bash-Skripts mit dem Time-Befehl dauert

Dies ist ein einfacher Befehl, der … Sie haben es erraten, die Zeit misst. Es ist jedoch keine Uhranwendung. Es misst die Zeit, die zum Ausführen eines Programms oder Skripts benötigt wird.

[email protected]:~$ time ./script.sh
real 0m12.010s
user 0m0.004s
sys 0m0.006s

Ich werde den Zeitbefehl und seine Ausgabe gleich erklären.

Es gibt einige verschiedene Versionen des Zeitdienstprogramms. Hier werden wir uns die Bash-Version ansehen, da dies diejenige ist, die Sie am ehesten auf Ihrem System finden werden. Es gibt auch eine Zsh-Version und eine GNU-Version.

Lassen Sie uns Verwirrung vermeiden und Ihre Version jetzt überprüfen.

[email protected]:~$ type time
time is a shell keyword

Wenn Ihre Ausgabe so aussieht, ist das perfekt. Das bedeutet, dass Sie bash verwenden. Der Befehl führt in all seinen Iterationen die gleiche Aufgabe aus. Wenn Sie also Bash nicht verwenden, keine Sorge, Sie werden immer noch in der Lage sein zu verstehen, was passiert. Es kann jedoch ganz anders aussehen.

Zeitbefehl verwenden

Der Zeitbefehl misst Folgendes:

  • Echtzeit:insgesamt verstrichene Zeit
  • Benutzer:OS-Verarbeitung im Benutzermodus
  • sys:Betriebssystemverarbeitung im Kernelmodus

Es kann mit jedem Befehl oder mit Pipe-Befehlen verwendet werden.

Zeit mit einer textbasierten Anwendung

Schauen wir uns ein Beispiel mit Nano an. Nano ist ein terminalbasierter Texteditor. Wenn ich nano starte und dann sofort über die Anwendung beende (Strg+X), sieht die Ausgabe so aus:

time nano
real    0m1.465s
user    0m0.031s
sys        0m0.006s

Zeit mit einer GUI-Anwendung

Dies funktioniert auch mit einer GUI-Anwendung. Die Ausgabe wird zurückgegeben, sobald die Anwendung normal beendet wird oder wenn ein Interrupt (CTRL+C) am Terminal eingegeben wird.

time firefox
real    0m6.784s
user    0m4.962s
sys        0m0.459s

Traditionelle GNU-Version

Wie ich bereits erwähnt habe, führen die meisten Linux-Benutzer Bash aus, das im Wesentlichen eine Verknüpfung verwendet, um für Menschen lesbare Inhalte zu erstellen. Sie können die vollständige GNU-Version ausführen, indem Sie das Escape-Zeichen \ verwenden . Dadurch wird die integrierte Verknüpfung umgangen.

Dieses Mal werde ich nur den Befehl sleep verwenden, um einen Dummy-Job zu erstellen. Die Zahl ist die Dauer in Sekunden. Sie werden dies auch in der Echtzeit der Ausgabe sehen.

Beachten Sie, dass, da es sich um eine Dummy-Aufgabe handelt, keine tatsächliche Ressourcenzeit dafür aufgewendet wird.

[email protected]:~$ \time sleep 3
0.00user 0.00system 0:03.00elapsed 0%CPU (0avgtext+0avgdata 1944maxresident)k
0inputs+0outputs (0major+75minor)pagefaults 0swaps

Diese Ausgabe ist etwas schwieriger zu lesen, enthält aber auch einige hilfreiche Informationen zur RAM-Nutzung.

GNU Time -p =(bash) time

Die Ausgabe, die Sie normalerweise mit der Bash-Version sehen, ist eine Art Alias ​​für GNU Time, das mit dem -p ausgeführt wird Option.

[email protected]:~$ \time -p sleep 3
real 3.00
user 0.00
sys 0.00

Wie Sie sehen können, erhalten wir die gleiche Ausgabe, als ob wir es mit der Bash-Verknüpfung ausgeführt hätten.

Schlussfolgerung

Hat Ihnen unser Leitfaden zum Zeitbefehl gefallen? Ich hoffe, all diese Tipps haben Ihnen etwas Neues beigebracht.

Wenn Ihnen dieser Leitfaden gefällt, teilen Sie ihn bitte in den sozialen Medien. Wenn Sie Kommentare oder Fragen haben, hinterlassen Sie diese unten. Wenn Sie Vorschläge für Themen haben, die Sie gerne behandelt sehen möchten, können Sie diese auch gerne hinterlassen. Danke fürs Lesen.


Linux
  1. Wie führe ich Linux-Bash-Befehle in einem PERL-Skript aus?

  2. Ubuntu - Befehl beim Start mit sudo ausführen

  3. Wie kann man das Bash-Skript alle N Sekunden wiederholt ausführen?

  4. Wie man Python-Skript mit Bash-Skript beendet

  5. Wie führe ich einen Teil eines Skripts mit eingeschränkten Rechten aus?

So führen Sie einen Linux-Shell-Befehl / ein Skript im Hintergrund aus

So führen Sie einen Befehl für eine bestimmte Zeit in Linux aus

So überprüfen Sie die Betriebssystemversion mit der Linux-Befehlszeile

So führen Sie ein Bash-Skript aus

Führen Sie Befehle mit einem Zeitlimit in Ubuntu 20.04 aus

Wie überprüfe ich die Syntax eines Bash-Skripts, ohne es auszuführen?