1. Startseite
  2. System
  3. Der time Befehl

Der time Befehl

Mit dem Befehl time kannst Du feststellen, wie lange ein bestimmter Befehl für die Ausführung braucht. Er ist nützlich, um die Leistung deiner Skripte und Befehle zu testen.

Wenn du zum Beispiel zwei verschiedene Skripte hast, die dieselbe Aufgabe erledigen, und du wissen möchtest, welches besser funktioniert, kannst du mit dem time Befehl die Ausführungsdauer der beiden Skripte ermitteln.

Versionen der time Befehle

Sowohl Bash als auch Zsh, die am weitesten verbreiteten Unix-Shells, haben ihre eigenen eingebauten Versionen des time Befehls, die Vorrang vor dem Gnu time Befehl haben.

Mit dem Befehl type kannst du bestimmen, ob time ein binäres oder ein eingebautes Schlüsselwort ist.

type time
# Bash
time ist ein Shell-Schlüsselwort

# Zsh
time ist ein reserviertes Wort

# GNU time (sh)
time ist /usr/bin/time

Um den Gnu time Befehl zu verwenden, musst du den vollständigen Pfad zum time-Binary angeben, normalerweise /usr/bin/time, den env Befehl verwenden oder einen führenden Backslash mit /time verwenden, der verhindert, dass built-ins verwendet werden.

Der Gnu time Befehl ermöglicht es dir, die Ausgabe zu formatieren und liefert andere nützliche Informationen wie Speicher I/O und IPC-Aufrufe.

Verwendung des time Befehls

Im folgenden Beispiel messen wir die Zeit, die für den Download einer 100 MB großen Datei mit dem Tool wget benötigt wird:

time wget https://speed.hetzner.de/100MB.bin

Was als Ausgabe ausgegeben wird, hängt von der Version des time Befehls ab, die Du verwendest:

# Bash
real 3m43.874s
user 0m1.634s
sys 0m1.874s

# Zsh
3.41s user 2.67s system 3% cpu 3:16.48 total

# GNU Zeit (sh)
1.30user 4.69system 3:10.86elapsed 3%CPU (0avgtext+0avgdata 8260maxresident)k
368inputs+204864outputs (2major+567minor)pagefaults 0swaps
  • real oder total oder elapsed ist die Zeit vom Start bis zum Ende des Anrufs. Es ist die Zeit von dem Moment, in dem Du die Eingabetaste drückst, bis zu dem Moment, in dem der wget-Befehl beendet ist.
  • user ist die Zeit, die im Benutzermodus verbrachte CPU-Zeit.
  • system oder sys ist die Menge der CPU-Zeit, die im Kernel-Modus verbracht wurde.

Abschluss

Jetzt solltest du ein gutes Verständnis dafür haben, wie du den Befehl time verwenden kannst. Wenn du Fragen oder Feedback hast, hinterlasse bitte einen Kommentar.

War dieser Beitrag hilfreich?

Verwandte Beiträge