In unserem Alltag als Linux-Administrator arbeiten wir oft auf verschiedenen Systemen – teilweise sogar mit mehreren Kollegen zusammen. Dabei entfällt selbst dem besten Gedächtnis einmal, welches Kommando wir zuletzt auf einem Server ausgeführt haben. Hilfe bietet dir das Kommando „history“. Es zeigt dir die zuletzt ausgeführten Kommandos an, vorausgesetzt du nutzt es mit dem richtigen Parameter. Die wichtigsten 5 Tricks im Umgang mit dem history-Kommando ließt du in diesem Beitrag.
Trick 1: Lasse dir alle Kommandos mit Datum und Uhrzeit anzeigen
Standardgemäß zeichnet Linux alle Kommandos auf, die du unter einem bestimmten Benutzer ausführst. Mit dem Kommando history lasse dir diese anzeigen. Zwar zeigt dir die Ausgabe alle ausgeführten Kommandos des Benutzers, jedoch siehst du nicht, wann diese ausgeführt worden sind. Um das Datum und die Uhrzeit anzeigen zu lassen, musst du History entsprechend konfigurieren. Dazu setzt du eine neue Shell-Variable namens „HISTTIMEFORMAT“. Konkret nutzt du folgenden Befehl:
export HISTTIMEFORMAT='%d/%m/%y %T'
Die Variablen haben dabei folgende Bedeutung:
- %d = Tag
- %m = Monat
- %y = Jahr
- %T = Uhrzeit (Stunde, Minute, Sekunde)
Wenn du anschließend das history-Kommando erneut ausführst, findest du in der Anzeige die Datumsangabe.
Trick 2: So führst du ein Kommando erneut wieder aus
Erinnerst du dich nicht mehr an die Syntax eines komplizierten Kommandos? Kein Problem: Verwende einfach die Suchfunktion der Historie. Drücke dazu die Tastenkombination „STRG+R“ und gebe einfach ein Stichwort des Kommandos ein. Dir wird dann eine Übereinstimmung angezeigt. Doch wie geht es dann weiter?
Wenn du ENTER drückst, wird das Kommando ausgeführt. Wenn du es hingegen vor der Ausführung noch ändern möchtest, drücke einfach die seitliche Pfeiltaste. Das Kommando wird so in die Konsole übernommen ohne es auszuführen.
Trick 3: Wie du doppelte Kommandos in der Historie ignorierst
Die History kann sich schnell mit unzähligen Doppeleinträgen füllen. Wenn du beispielsweise einen „ping“ oder ein „nslookup“-Kommando zur Fehleranalyse mehrfach ausführst, überhäuft dies die History. Um identische Kommandos nur einmal anzuzeigen, setze die Umgebungsvariable „HISTCONTROL“ auf den Wert „ignoredups“. Konkret setze die Umgebungsvariable wie folgt:
export HISTCONTROL=ignoredups
Anschließend werden in der History-Anzeige alle identischen Kommando-Ausführungen auf jeweils einen Eintrag reduziert.
Übrigens: Mache diese Einstellung einfach rückgänig, indem du das „unset“-Kommando verwendest. Beispiel:
unset HISTCONTROL
Trick 4: So findest du bestimmte Kommandos in der Historie
Wenn du die Anzeige der Historie nur nach bestimmten Kommandos filtern möchtest, kombiniere das History-Kommando mit dem Grep-Kommando nach folgendem Muster:
history | grep SUCHWORT
Wenn du beispielsweise alle netstat-Kommandos in der Historie suchen möchtest, gebe folgendes Kommando ein:
history | grep netstat
Das Ergebnis in unserem Beispiel sieht wie folgt aus:
Trick 5: Wie du die Kommando-Historie löschst
Aus Sicherheitsgründen ist es nicht immer gewünscht, dass eine Kommando-Historie aufgezeichnet wird. Wenn du deine eigenen Spuren löschen möchtest, geben einfach das Lösch-Kommando ein:
history -c
Die Historie wird damit entleert. Falls du dauerhaft keine Aufzeichnung wüschst, füge folgende Zeile der Datei „/etc/profile“ zu:
unset HISTFILE
Während einer Sitzung kannst dann zwar noch auf deine eingegebenen Kommandos zurückgreifen, dauerhaft werden diese jedoch nicht gespeichert.