Bash verfügt über einige kleine Nettigkeiten, die sich nicht unbedingt auf den ersten Blick erschließen, das Leben allerdings um ein Vielfaches erleichtern:
Die History:
Bash verfügt neben der allseits gegenwärtigen Completion die man durch zweimaliges Drücken der TabTaste erreicht auch noch eine sehr schöne History.
In der Datei ~/.bash_history speichert die Bash Zeilenweise welcher Befehl zuletzt aufgerufen wurde. Mit den beiden Umgebungvariablen $HISTSIZE und $HISTFILESIZE kann durch ersteres bestimmt werden, bis zu wieviele letzte Befehle durch Eingabe des Befehls:
>>history
angezeigt werden bzw. durch zweiteres wieviele letzte Befehle in der Datei ~/.bash_history abgelegt werden sollen. Die Option -c löscht die Bash-History. Bash nummeriert die zuletzt aufgerufenen Befehle von 1 bis $HISTSIZE. Durch Eingabe von
>> !n
wird der Befehl mit der Nummer n aus der History hervorgekramt und ausgeführt. Durch einfaches Drücken der hoch [runter] oder der Tasten
Emacs/Vi Mode:
Bash lässt sich Wahlweise im Emacs oder im Vi Mode betreiben. Normalerweise wird von den meisten Distributionen der Emacs Modus benutzt. Mit dem Befehl:
>> mode -o vi
versetzt man Bash vom Emacs in den Vi Modus. Sollte doch Widererwarten der Vi Modus eingeschaltet sein und möchte man diesen in den Emacs Modus zurück wechseln, kann man dies durch Eingabe von:
>> mode -o emacs
erreichen.
Die beiden Modi Unterscheiden sich durch ihre definierten Shortcuts. Der Vi Mode erlaubt die Bash so zu steuern wie man sie von Vi her gewohnt ist. Durch das Drücken der ":"
Cursorsteuerung:
Emacs | Vi | Auswirkung |
Strg-A | 0 | Cursor am Zeilenanfang positionieren |
Strg-E | $ | Cursor am Zeilenende positionieren |
»Linker Pfeil«
| L >>Space>> | Cursor, ohne zu löschen, ein Zeichen nach links bewegen |
»Rechter Pfeil«
| H | Cursor, ohne zu löschen, ein Zeichen nach rechts bewegen |
DEL | x | Das Zeichen links vom Cursor wird gelöscht |
Strg-D | X | Das Zeichen unter dem Cursor wird gelöscht |
Strg-U | Strg-U | Vom Cursor bis zum Zeilenanfang alle Zeichen löschen |
Strg-K | D | Vom Cursor bis zum Zeilenende alle Zeichen löschen |
Wortsteuerung:
Emacs | Vi | Auswirkung |
Esc b | b | Ein Wort zurück bewegen |
Esc f | w | Ein Wort vorwärts bewegen |
Esc del
| Strg-w | Das Wort links vom Cursor löschen |
Esc d |
| Das Wort unter dem Cursor löschen |
Str-y | u | Letztes gelöschtes Wort zurückholen |
Zeichensteuerung:
Emacs | Vi | Auswirkung |
Strg-T | Strg-T | Vertauscht das unter dem Cursor stehende Zeichen mit seinem linken Nachbarn |
Strg-V | Strg-V | Das nächste eingegebene Zeichen wird maskiert |
Esc U |
| Konvertiert alles vor dem Coursor in Großschreibung |
Esc L |
| Konvertiert alles vor dem Cursor in Kleinschreibung |
Zwei äußerst brauchbare CheatSheets gibt es bei Catonmat:
http://www.catonmat.net/download/readline-emacs-editing-mode-cheat-sheet.pdf
http://www.catonmat.net/download/bash-vi-editing-mode-cheat-sheet.pdf
Keine Kommentare:
Kommentar veröffentlichen
Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.