Shell-Tastaturkürzel#

Verwenden der Historie#

Pfeil oben

erlaubt Ihnen das Navigieren durch die letzten Befehle wobei Sie zum nächstfrüheren Befehl kommen.

Pfeil unten

erlaubt Ihnen das Navigieren durch die letzten Befehle wobei Sie zum nächstspäteren Befehl kommen.

!!

Wiederholt den letzten Befehl.

So wird z.B. mit

$ sudo !!

der letzte Befehl mit den Rechten des Superusers ausgeführt.

!foo

führt den letzten Befehl aus, der mit foo begann.

Falls Sie sich unsicher sind, welches der letzte Befehl mit foo war, können Sie sich mit``!foo:p`` zunächst diesen Befehl anzeigen lassen.

Eine übliche Befehlsabfolge ist demnach:

$ !find:p
find ~/tmp/* -mmin +10 -exec rm -rf {} \; >/dev/null 2>&1
$ !!
find ~/tmp/* -mmin +10 -exec rm -rf {} \; >/dev/null 2>&1
foo !$

führt den Befehl foo aus mit den Attributen des vorigen Befehls, also z.B.:

mkdir ~/new//folder
cd !$
!123

führt den Befehl aus, der in der Historie an 123ster Stelle aufgeführt ist. Ein typisches Szenario ist, dass wir zunächst in der Historie alle Befehle suchen, die find enthalten und anschließend den passenden ausführen:

$ history | grep find
  224  find ~/tmp/* -mmin +10 -exec rm -rf {} \; >/dev/null 2>&1
  513  history | grep find
$ !224
find ~/tmp/* -mmin +10 -exec rm -rf {} \; >/dev/null 2>&1

Expansion#

{}

Geschweifte Klammern erlauben das ausführen von Befehlen auf mehrere Dateien gleichzeitig, z.B.:

$ mkdir vs.policy/{trunk,branches,tags}

Aliase#

Es können Aliase von Befehlen in der Bash-Konfigurationsdatei unter ~/.bash_profile angegeben, z.B.:

alias ll='ls -ahlF'

Weitere Beispiele finden Sie z.B. in grep-Umgebungsvariablen.

Auto-Vervollständigung#

Die Bash liefert bereits viele Arten der Auto-Vervollständigung, z.B. für Pfade, Dateien, Nutzer, Hosts und Variablen.

Pfade

das erste Wort einer Zeile wird zum Pfad einer ausführbaren Datei vervollständigt

Dateinamen

das zweite Wort einer Zeile wird zu einem Datei- oder Verzeichnisnamen vervollständigt

Benutzernamen

die Eingabe von ~ wird zu den Benutzernamen vervollständigt

Hostnamen

die Eingabe von @ wird zu den Hostnamen vervollständigt

Variablen

wird dem Wort $ vorangestellt, so wird zu einer Umgebungsvariablen vervollständigt

Bash-Completion#

Wir haben Bash-Completion bereits installiert, es muss von Ihnen lediglich noch aktiviert werden indem Sie in der ~/.bashrc-Datei folgendes angeben:

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

Anschließend erhalten Sie für die Unix-Befehle, aber auch für weitere Programme wie z.B. apache, git, mercurial, paster und subversion programmatische Vervollständigungen.