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.