Aus Linux-Magazin 12/2020

Aus dem Alltag eines Sysadmin: History

Für tippfaule Admins wie Charly hält die Shell in Form der eingebauten History eine hervorragende Möglichkeit bereit, die Fingerkuppen zu schonen.

Es gibt Kommandos, die ich täglich mehrere Dutzend Male tippe – »grep Irgendwas /var/log/syslog« ist so ein Klassiker. Die Shell führt eine Historie über alle meine Eingaben; mit dem Befehl »history« kann ich mir jederzeit in einer durchnummerierten Liste anzeigen lassen, welche Kommandos ich zuletzt verzapft habe.

Das »history«-Kommando ist kein separates Tool, »which history« greift ins Leere. Es handelt sich um einen Bestandteil der Shell, ein sogenanntes Shell-Builtin. Dessen Killer-Feature, für das tippfaule Menschen wie ich ewig dankbar sein werden, ist die interaktive Suche. Man aktiviert sie mit [Strg]+[R], der Kommandozeilen-Prompt ändert sich dabei in »(reverse-i-search)`’:«.

Fange ich jetzt an zu tippen, zum Beispiel das Wort »net«, zeigt mir die Shell das zuletzt eingegebene Kommando, in dem »net« vorkommt. Bei erneutem Drücken von [Strg]+[R] kramt die History zunehmend ältere Kommandos hervor, die »net« enthalten (Abbildung 1).

Abbildung 1: Die interaktive Suche mit <span class="key-combo">[Strg]+[R]</span>.

Abbildung 1: Die interaktive Suche mit [Strg]+[R].

Es gibt noch eine Reihe weiterer Möglichkeiten, in der History gespeicherte Kommandos ein weiteres Mal auszuführen. Allein, um das zuletzt eingegebene Kommando zu wiederholen, kann ich:

  • [Pfeil-oben] drücken,
  • [Strg]+[P] drücken (“previous”, für Tastaturen ohne Pfeiltasten),
  • »!!« tippen, oder
  • »!-1« eingeben.

Manchmal erweist sich die relative Adressierung rückwärts durch die Historie als nützlich. Im Beispiel aus Abbildung 2 führe ich mit »!-3« das drittletzte Kommando aus der History erneut aus. Möchte ich dagegen das letzte Kommando wiederholen, das mit »echo« begann, genügt die Eingabe von »!echo«.

Abbildung 2: Drei Kommandos zur&uuml;ckspringen.

Abbildung 2: Drei Kommandos zurückspringen.

Auch auf Parameter vorangegangener Kommandos kann ich zugreifen. Habe ich etwa gerade »ls .bashrc« getippt, öffne ich mit »vim !!:$« die ».bashrc« im Editor. Bei einem Befehl, der Root-Rechte erfordert, löst »sudo !!« das Problem. Inzwischen habe ich mir dafür »doch« als Alias definiert (Abbildung 3).

Abbildung 3: Nein? Doch! Oooh&hellip;

Abbildung 3: Nein? Doch! Oooh…

Gelegentlich fällt mir aber die Länge der Historie auf den Fuß, auf meinem Testsystem speichert sie nur 1000 Einträge. Das genügt mir nicht, weswegen ich in der Datei »~/.bashrc« die Zeile »HISTSIZE=10000« hinzufüge, um die Größe der Historie zu verzehnfachen. Zusätzlich trage ich dort noch »HISTCONTROL=erasedups« ein. Auf diese Weise speichert die History Kommandos, die ich mehrfach tippe, nur ein einziges Mal – das spart Platz und bringt mehr Übersicht. (jlu)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben