permalink

2

Terminal auf neuem Niveau: Gestalte deine Kommandozeile mit Farbe, Aliase und Bookmarks

von  Bastian  |  

Ein Vorteil von einer Linux-Distribution ist die schöner gestaltete Bash Prompt. Aussehen ist bei Weitem nicht alles, dennoch muss man zugeben dass es sich mit einer gut konfigurierten Shell  besser arbeiten lässt.

Wir richten uns bei dieser Anleitung an diese Vorgabe. Schön beschrieben, und gespickt mit nützlichen Tipps. Dem deutschen Leser wollen wir das natürlich nicht vorenthalten.

Startet also mit uns in eine bessere Kommandozeile!

Grundlagen schaffen

Zuerst legen wir uns ein schönes Terminal-Theme zu. Damit sehen auf einen Schlag Schriftarten, Farben und die Prompt besser aus (Quelle der folgenden Anleitung).

  1. Zuerst muss das Theme herunter geladen werden: Link.
  2. Um das Theme zu installieren, einfach Doppelklick auf die herunter geladene Datei IR_Black.terminal.
  3. Danach das Theme als Standard festlegen (in den Einstellungen des Terminals).

Danach laden wir uns ein Grundgerüst von Bash Startup Files. Zur Erklärung: Diese Dateien werden nach jedem Start des Terminals geladen (auch beim Öffnen eines neuen Fensters). Die dort vorgenommenen Einstellungen werden somit bei jedem Start eingelesen und können verwendet werden.

  1. Erstellt zuerst ein Backup euerer bisher angelegten Bash-Dateien.
     cp ~/.bashrc ~/.bashrc_ORIGINAL ; cp ~/.bash_profile ~/.bash_profile_ORIGINAL
  2. Anschließend können mit diesem Befehl die vorgefertigten Dateien herunter geladen werden:
    curl -o ~/.bash#1 "http://www.infinitered.com/settings/dotfiles/osx/.bash{rc,_profile}"
  3. Der Mac mss nicht neu gestartet werden, einfach ein neues Fenster im Terminal öffnen, schon greifen die Änderungen.
Nach dem Ihr diese Schritte ausgeführt habt, sind alle notwendigen Änderungen bereits vorgenommen. Im nächsten Abschnitt erklären wir die Einzelheiten, sodass Ihr weitere Änderungen durchführen und die Dateien besser verstehen könnt.

Um ein optimales Lesen zu ermöglichen, empfiehlt MACBUG.de den Editor vim.

Um Farbcodierungen im vim zu aktivieren, öffnet ein Terminal-Fenster, und gebt folgendes ein:

vi ~/.vimrc

Anschließend ein << i >> drücken, um den INSERT-Modus zu aktivieren. Gebt nun folgende zwei Zeilen ein:

syntax on

:set number

Anschließend die Escape-Taste drücken, und << :wq >> eingeben.

Wir werden nun zwei Dateien betrachten: .bash_profile und .bashrc. Öffnet diese einfach mit:

vi ~/.bash_profile

bzw. mit

vi ~/.bashrc

Bash-Profil anpassen

In der Datei bash_profile befinden sich nun ein paar Einträge:

Zeile 8 – 10

if [ -d ~/bin ]; then
    export PATH=:~/bin:$PATH
fi

Legt einen Pfad zu all Euren Skripten fest.

Zeile 14 – 15

source ~/.bashrc

Lädt bei jeder neuen Terminal-Session die bashrc-Datei. Diese sehen wir uns in den nächsten Abschnitten noch genauer an.

Zeile 19 – 23

echo -e "Kernel Information: " `uname -smr`
echo -e "${COLOR_BROWN}`bash --version`"
echo -ne "${COLOR_GRAY}Uptime: "; uptime
echo -ne "${COLOR_GRAY}Server time is: "; date

Gibt beim Start eines neuen Terminal-Fenster eine Statusmeldung aus. So habt Ihr bei jedem Start eine schöne Übersicht über Euer System.

Kommen wir zur bashrc-Datei:

Farbcodierungen hinzufügen

Dort wurden schon einige sehr sehr nützliche Einträge vorgenommen. Los geht es mit dem Aktivieren der Farben von Zeile 4 – 38:

export TERM=xterm-color

export GREP_OPTIONS='--color=auto' GREP_COLOR='1;32'

export CLICOLOR=1

Diese Zeilen aktivieren die Farbcodierung für die Befehlsausgabe im Terminal.

Zeile 11

alias ls='ls -G'

Erst ein kluges Alias: Immer wenn Ihr jetzt

ls

im Terminal eingibt (Auflistung der der Dateien im aktuellen Verzeichnis), wird automatisch der Befehl

ls -G

ausgeführt. Dies führt automatisch zu einer farbigen Ausgabe.

In den Zeilen 18 – 34 werden einige Farbcodierungen festgelegt, um damit später leichter arbeiten zu können.

export COLOR_NC='\\e[0m' # No Color
export COLOR_WHITE='\\e[1;37m'
export COLOR_BLACK='\\e[0;30m'
export COLOR_BLUE='\\e[0;34m'
export COLOR_LIGHT_BLUE='\\e[1;34m'
export COLOR_GREEN='\\e[0;32m'
export COLOR_LIGHT_GREEN='\\e[1;32m'
export COLOR_CYAN='\\e[0;36m'
export COLOR_LIGHT_CYAN='\\e[1;36m'
export COLOR_RED='\\e[0;31m'
export COLOR_LIGHT_RED='\\e[1;31m'
export COLOR_PURPLE='\\e[0;35m'
export COLOR_LIGHT_PURPLE='\\e[1;35m'
export COLOR_BROWN='\\e[0;33m'
export COLOR_YELLOW='\\e[1;33m'
export COLOR_GRAY='\\e[0;30m'
export COLOR_LIGHT_GRAY='\\e[0;37m'

Bash Prompt modifizieren

Zeile 55

export PS1="\\[${COLOR_GREEN}\\]\\w > \\[${COLOR_NC}\\]"

Hier wird die Prompt drastisch verkürzt. Normalerweise sieht diese in etwa so aus:

Benutzer@Macintosh 1/1/2007 Uhrzeit - PFAD >

Diese Angaben sind oft nicht nur unnötig, sie verschwenden auch noch Platz und stören die Übersicht. Mit der obigen Zeile verkürzt sich das Ganze auf den Pfad  +  > .

Aliase zur besseren Navigation

Weiter oben haben wir zur Farbgestaltung schon ein Alias verwendet. Jetzt kommt die Navigation dran:

Zeile 75 – 76

alias ..='cd ..'
alias ...='cd .. ; cd ..'

Anstatt für den Hierarchie-Wechsel zwischen Ordnern ein cd einzugeben, kann man nun lediglich zwei oder drei Punkte für den Ordnerwechsel eingeben.

Bookmarks

Die Zeilen 83  - 92 dürften die nützlichsten sein:

! -f ~/.dirs ]; then  # if doesn't exist, create it
	touch ~/.dirs
fi

alias show='cat ~/.dirs'
save (){
	command sed "/!$/d" ~/.dirs > ~/.dirs1; \\mv ~/.dirs1 ~/.dirs; echo "$@"=\\"`pwd`\\" >> ~/.dirs; source ~/.dirs ;
}
source ~/.dirs  # Initialization for the above 'save' facility: source the .sdirs file
shopt -s cdable_vars # set the bash option so that no '$' is required when using the above facility

Dank dieser Zeilen ist es nun möglich, mit einem einfachen

save xyz

einen Bookmark mit dem Titel “xyz” zu erstellen. Wenn man sich also aktuell in einem x-beliebigen Unterordner im System befindet, wird dieser Pfad unter dem Titel xyz gespeichert. Ruft man nun

cd xyz

auf, springt man direkt in dieses Unterverzeichnis! Genial wenn man oft die gleichen Verzeichnisse besucht.
Mit

show

Kann man sich alle angelegten Bookmarks ausgeben lassen.
Die Bookmarks werden in dieser Datei gespeichert:

 ~/dirs

Dieser äußerst nützliche Tipp stammt von MacOSXHints.

Wie oben bereits erwähnt stammen die Dateien und eine Anleitung dazu von dieser Quelle.

Autor: Bastian

Als Informatik-Student, und seit kurzem stellv. Chef-Redakteur bei MACBUG.de, will ich neuen Usern helfen, in die Macintosh-Welt ein zu tauchen, sowie langjährigen Nutzern neue Möglichkeiten eröffnen, wie Sie noch effizienter mit einem Mac arbeiten können. Themengebiete: UNIX, Terminal, MacOS X Allgemein Über Anregungen, Kritik und Problemberichte freue ich mich sehr - via Kommentar-Funktion oder Kontaktformular!

  • MBombeck

    Hallo – in dieser Version ist noch ein Fehler.
    In den Zeilen 18 – 34 sollte “e” in “33″ abgeändert werden,
    sonst weden Scripte nicht richtig “farbreich” angezeigt.

    COLOR_BLACK=’33[0;30m’
    COLOR_BLUE=’33[0;34m’
    COLOR_BROWN=’33[0;33m’
    COLOR_CYAN=’33[0;36m’
    COLOR_GRAY=’33[1;30m’
    COLOR_GREEN=’33[0;32m’
    COLOR_LIGHT_BLUE=’33[1;34m’
    COLOR_LIGHT_CYAN=’33[1;36m’
    COLOR_LIGHT_GRAY=’33[0;37m’
    COLOR_LIGHT_GREEN=’33[1;32m’
    COLOR_LIGHT_PURPLE=’33[1;35m’
    COLOR_LIGHT_RED=’33[1;31m’
    COLOR_NC=’33[0m’
    COLOR_PURPLE=’33[0;35m’
    COLOR_RED=’33[0;31m’
    COLOR_WHITE=’33[1;37m’
    COLOR_YELLOW=’33[1;33m’

    (Siehe auch: http://blog.toddwerth.com/entries/13)

    Super Blog :)

    Liebe Grüße aus Grand Canaria,
    Marc

    • http://www.macbug.de/ Bastian

      Vielen Dank für deine Antwort!

      Habe ich zu spät gemerkt, da ich mein Bash-Profil etwas anders gestaltet habe! :)

      Nach einem ersten Test mit deinen Änderungen treten die Probleme aber weiterhin auf. Welches OS hast du installiert?

      Grüße von Deutschland nach Grand Canaria!