Bash history
In der Bash history werden die zuletzt auf der Shell ausgeführten Kommandos gespeichert. Möchte man später ein Kommando erneut aufrufen, kann man beispielsweise über die Pfeiltasten oder mittels [Strg]-[r] (reverse-i-search) auf zuvor ausführte Kommandos (inkl. aller Optionen und Parameter zurückgreifen) oder das "!" verwenden.
history Kommando
Das history Kommando zeigt alle aufgezeichneten Kommandos auf. Als Parameter kann optional die Anzahl der angezeigten Kommandos auf die zuletzt aufgerufenen limitiert werden (in diesem Beispiel auf die letzten 15 ausgeführten Kommandos):
werner@lmde6:~$ history 15 1791 pwd 1792 cd Downloads/ 1793 ls -lah 1794 free -m 1795 cd 1796 history 1797 vi Downloads/testfile.txt 1798 uptime 1799 history | tail 1800 man history 1801 man 1 history 1802 man bash 1803 history --help 1804 history 10 1805 history 15 werner@lmde6:~$
Kommandos erneut aufrufen
Möchte man ein Kommando erneut aufrufen, bietet die Bash history mehrere Wege.
Pfeiltasten
Sehr einfach können über die Pfeiltasten [↑] und [↓] die zuletzt aufgerufenen Kommandos durchsucht und durch anschließendes Drücken der [Enter] Taste erneut ausgeführt werden.
[Strg]-[r]
Möchte man eine längeres Kommando schnell und effizient erneut ausführen, eignet sich [Strg]-[r] (reverse-i-search) sehr gut.
Nach Drücken von [Strg]-[r] erscheint auf der Konsole folgender Eingabepromt:
(reverse-i-search)`':
Wenn man nun einzelne Zeichen tippt ("pst" in diesem Beispiel), wird die Bash History automatisch nach Kommandos durchsucht, welche diese Zeichenkette enthalten hat. Ist das richtige Kommando gefunden ("pstree -C age -h -t" in diesem Beispiel) kann ohne weitere Eingabe durch Drücken der [Enter]-Taste das Kommando erneut aufgerufen werden:
(reverse-i-search)`pst': pstree -C age -h -t
!
Hat man sich zuvor mittels history Kommando die Liste an ausgeführten Kommandos angezeigt, und möchte man ein bestimmtes Kommando (das 1793. Kommando in diesem Beispiel) erneut aufrufen, so ist dies durch Eingabe von "!" gefolgt von der Kommandonummer einfach möglich:
werner@lmde6:~$ !1793 ls -lah total 240K drwx------ 26 werner werner 4,0K Feb 27 12:58 . drwxr-xr-x 3 root root 4,0K Nov 22 08:21 .. -rw------- 1 werner werner 34K Feb 27 10:57 .bash_history -rw-r--r-- 1 werner werner 220 Nov 22 08:21 .bash_logout -rw-r--r-- 1 werner werner 3,5K Feb 27 11:36 .bashrc drwxr-xr-x 26 werner werner 4,0K Jän 30 12:57 .cache [...]
Bash history size ändern
Standardmäßig ist die Größe der Bash History limitiert:
werner@lmde6:~$ grep HIST .bashrc HISTCONTROL=ignoreboth # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE=1000 HISTFILESIZE=2000
Um das Limit zu entfernen, setzen Sie die Variablen HISTSIZE und HISTFILESIZE mit einem Editior wie nano oder vim in ~/.bashrc auf "-1":
werner@lmde6:~$ vi .bashrc werner@lmde6:~$ grep HIST .bashrc HISTCONTROL=ignoreboth # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE=-1 HISTFILESIZE=-1
Durch erneutes Ausführen des bashrc Skriptes werden die neuen Einstellungen bereits im aktuellen Shell-Fenster wirksam:
source ~/.bashrc
Autor: Werner Fischer Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.
|