ADMIN-Tipp: Bash-History im Griff

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Ein paar kleine Tricks machen die Nutzung der Bash-History noch effizienter.

Die meisten Benutzer der Bash-Shell lernen ziemlich schnell die History-Funktion zu schätzen, die die meisten über die Cursor-Tasten abrufen. Alternativ geht das auch mit anderen Tasten wie [Strg]-[p] und [Strg]+[n]. Mit [Strg]+[r] lässt sich die History sogar durchsuchen, wenn man danach Teile des gesuchten Kommandos eintippt. 

Trivialitäten wie "pwd" oder "cd" muss die History nicht unbedingt speichern, denn das verschwendet nur unnötig Platz im begrenzten Speicher (der sich übrigens mit der Umgebungsvariablen "HISTSIZE" einstellen lässt). Auf vielen Systemen verzichtet die Bash auch auf eine Speicherung, wenn man dem Befehl ein Leerzeichen voranstellt. Dies wird durch die Variable "HISTCONTROL" gesteuert, die dann "ignorespace" enthalten muss. 

Bestimmte Befehle ignoriert die History, wenn man die Variable "HISTIGNORE" entsprechend setzt:

export HISTIGNORE="pwd:ls:ls -l:cd"

Der Befehl muss dabei genau dem aufgeführten entsprechen, damit es klappt. Mit dem Spezialzeichen "&", das für den letzten Befehl steht, verzichtet die Bash darauf, unmittelbar aufeinander folgende doppelte Befehle zu speichern. Zum gleichen Effekt führt "HISTCONTROL=ignoredups". Global verhindert die Einstellung "HISTCONTROL=erasedups" duplizierte Befehle. 

Mit dem Befehl "history" lässt sich die History-Funktion steuern. So löscht "history -c" den aktuellen Speicher, "history -d X" löscht den letzten X-ten Eintrag, und "history -w" schreibt das Protokoll in die Datei (per Default "~/.bash_history"). Mehr Informationen zum History-Befehl sind übrigens in der Bash-Manpage zu finden, während "man history" Informationen zur History-Bibliothek enthält.

16.07.2013

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Loadtests ohne Server

Für Loadtests der eigenen Server bietet sich die Cloud an, denn kurz getaktet lassen sich dort viele Rechnerinstanzen starten, die das eigene Budget nur wenig belasten. Noch flexibler, günstiger und besser skalierbar sind Tests mit einer Serverless-Infrastruktur wie AWS Lambda. Wir führen vor, wie Sie dort mit Serverless Artillery eigene Loadtests starten. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018