Veit Schiele Communications

Veit Schiele Communications

Shell-Tastaturkürzel

erstellt von Veit Schielezuletzt verändert: 19.03.2017 21:31 © Veit Schiele Communications GmbH, 2011–2017

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.