Die Bash individualisieren
Wer viel mit der Bash arbeitet, wird es schätzen, eigene Einstellungen und Shortcuts anlegen zu können. Damit wird das Terminal zu einem noch mächtigeren Werkzeug.
Für persönliche Einstellungen findet man im eigenen Home-Verzeichnis meist eine von zwei Dateien, die .bashrc
bzw. die .bash_profile
. Der Punkt vor dem Dateinamen zeigt, dass es sich um versteckte Dateien handelt. Will man diese angezeigt bekommen, muss man dies explizit angeben:
cd ~
ls -a
Die erste Zeile wechselt ins eigene Home-Verzeichnis (bei den meisten Systemen langt es sogar einfach nur cd
einzugeben). Die zweite Zeile zeigt alle Dateien an, auch versteckte.
Sie können nun Ihre Bash-Profil-Datei in einem beliebigen Texteditor öffnen.
Alias
Ein Alias ist eine Art Abkürzung. Mit einem Alias können Sie Ihre eigenen Bash-Befehle anlegen. Wir fangen mal mit einem einfachen Beispiel an: Stellen Sie sich vor, Sie wollen immer wieder alle Dateien in einem Verzeichnis als Liste angezeigt bekommen. Sie würden also in der Bash Folgendes eingeben:
ls -lah
ls
zum Auflisten, -l
um eine Liste zu bekommen, -a
um auch versteckte Dateien zu sehen und -h
um das in einer für Menschen (human) gut lesbaren Ausgabe gezeigt zu bekommen. Natürlich können Sie den Befehl immer wieder so eingeben, Sie können sich aber auch einen Alias anlegen.
Meine Alias-Definitionen habe ich immer ganz oben in meinem Bashprofil stehen, die Position bleibt Ihnen aber überlassen. Legen wir also unseren Alias an, indem Sie folgende Zeile ergänzen:
alias ll='ls -lah'
Das war es schon. Wir haben jetzt also den Alias ll
angelegt, der, wenn wir ihn in der Bash eingeben, unseren ls-Befehl ausführt.
Wundern Sie sich nicht, wenn Sie Ihr Bashprofil gespeichert haben, der Alias aber nicht funktioniert. Die .bashrc bzw. .bash_profile wird nur einmalig beim Starten der Session eingelesen. Sie müssen also Ihre Terminal-Anwendung schließen und neustarten oder sich - wenn Sie direkt auf der Konsole arbeiten - neu einloggen.
Tipp Ich bin mir nicht sicher, ob das in jedem System funktioniert. Sie können aber versuchen Ihre Session mit dem reset
Befehl neuzustarten.
Sie können nun beliebige Alias-Definitionen anlegen. Alles, was Sie in der Bash eingeben können, können Sie auch in einem Alias zusammenfassen. Achten Sie aber darauf, dass Sie bei der Wahl Ihres Befehls keine Standard-Bash-Befehlsnamen verwenden.
Git-Alias
Übrigens, wenn Sie viel mit Git arbeiten und dazu das Terminal benutzen, können Sie spezielle Git-Alias anlegen. Wie das funktioniert und was es alles für Möglichkeiten gibt, können Sie hier nachlesen1
Den Bash-Prompt anpassen
Man kann den Bash-Prompt (die Eingabeaufforderung) mit allerlei nützlichen Informationen aufwerten. Ich bevorzuge allerdings einen sehr minimalistischen Ansatz. Besonders auf meinem Desktoprechner. Dort bin ich immer mit dem selben Benutzer unterwegs und brauche deshalb Informationen wie den Benutzer und den Hostnamen nicht. Deshalb sieht mein Prompt so aus:
Ich lasse mir also nur das aktuelle Verzeichnis anzeigen und beende den Prompt mit einem $-Zeichen. Das kann man besser sehen, wenn ich in ein anderes Verzeichnis wechsle:
Ich befinde mich nun also im Verzeichnis _PROJECTS Ich lasse mir nur das aktuelle Verzeichnis und nicht den ganzen Pfad anzeigen, weil ich den Prompt schön kurz halten will.
Da ich sehr viel mit git arbeite, habe ich den Prompt so erweitert, dass er mir den aktuellen Branch anzeigt, sobald ich in einem von git verwalteten Verzeichnis bin:
Den Prompt passen Sie an, indem Sie ans Ende Ihres Bashprofils (in meinem Fall) folgende Zeile kopieren:
PS1="\[\033[1;33m\]\W\[\033[0m\] \[\033[1;32m\]\[\$(git_prompt_info)\]\[\033[0m\]$ "
Damit der Git-Teil funktioniert, müssen Sie noch eine entsprechende Funktion2 in Ihrem Bashprofile ergänzen. Übrigens gibt es ein nettes Webtool3 um einen eigenen Prompt zu generieren.
Die Bash-History durchsuchen
Wer in der Bash nach bereits benutzten Befehlen suchen will, kann dies ganz einfach via ctrl+R
tun und einfach beginnen einen Teil des Befehls einzutippen. Nun bekommen Sie Vorschläge aus vergangenen Befehlen angezeigt.
Wer die History gerne chronologisch durchsuchen mag, der kann dieses Snippet benutzen4.
Weitere Ideen?
Sie haben noch Ideen und Tipps, wie man noch schöner und einfach mit der Bash arbeiten kann? Immer her damit! Schreiben Sie einen Kommentar oder schreiben Sie mich auf twitter5 an.