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
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023