Durch das alias
Kommando kannst du dir Tipparbeit sparen und häufig benutze Parameter automatisch an Kommandos anzuhängen.
alias
alias
ist ein builtin Kommando der bash. Es verwendet, um komplizierte Kommandoaufrufe zu vereinfachen. In der .bashrc haben wir das schonmal kurz gesehen.
Aliase anzeigen
Zunächst wollen wir uns mal alle bisher definierten Aliase anzeigen lassen.
alias
Diese aliase werden alle in der .bashrc angelegt. Gerade der ll
alias gehört für mich zu am häufigsten benutzten.
Die Ausgabe im Screenshot zeigt auch genau das Kommando, das du benötigst, einen alias anzulegen.
alias ll='ls -l'
Nach dem alias gibst du den Namen des alias ein und weist ihm, wie bei einer Variable, einen Wert zu. Dieser Wert ist ein Kommando mit allen Parametern, das ausgeführt werden soll, wenn du ll am Prompt eintippst.
Wie geht die bash jetzt mit einem alias um?
Wenn du ein Kommando eingibst, prüft sie zunächst, ob dieses in der alias-Liste auftaucht und ersetzt den Text ll gegen den definierten alias Text, das Ergebnis wird dann ausgeführt. Danach durchsucht die bash die internen Kommandos und führt dieses aus, wenn sie dort fündig wird. Ist auch das nicht der Fall, sucht sie in jedem einzelnen Verzeichnis, dass in der ${PATH}
Variable hinterlegt ist, ob das Kommando dort im Dateisystem liegt.
Wenn du ll ausführst, wirst du
feststellen, dass es identisch zur Eingabe ls -l
ist.
Das ist kein Wunder, da in beiden Fällen das selbe Kommando ausgeführt wird.
aliase in Scripten
Jetzt lass mal sehen, was passiert, wenn wir ll in einem Script aufrufen
ll
Standardmäßig ist die Auflösung von Aliasen in Scripten abgeschaltet. Dies muss explizit erlaubt werden:
shopt -s expand_aliases # Aktiviert Aliase
alias ll='ls -la'
ll
Das Script kann aber nur die alias-Kommandos ausführen, die es selbst definiert. Dies ist ein Sicherheitsmerkmal, denn sonst könnte jemand der Script verwendet über einen alias beliebige Kommandos umdefinieren und auf eigenen Code umlenken.
dauerhafte aliase
Wenn du einen alias am Prompt definierst, ist er nach dem Logout wieder weg. Um ihn dauerhaft zu definieren, musst du ihn in die .bashrc des Users eintragen, damit er bei jedem Login erneut definiert wird. Auf manchen Systemen gibt es dafür auch das .bash_aliases Script das beim Login automatisch von der .bashrc ausgeführt wird.
unalias
Ein alias lässt sich mit unalias
auch wieder löschen. Dazu rufst du unalias einfach mit dem Namen des zu löschenden alias auf.
Kommandoketten
Du kannst auch mehrere Kommandos in einem alias verwenden.
alias sysupdate='sudo apt update && sudo apt dist-upgrade -y'
Damit führst du die beiden Befehle für das Aktualisieren der Paketliste und dem Upgrade neuer Pakete mit nur einem Kommando direkt hintereinander auf.
Alias in einem Alias
Was ich auch noch nie verwendet habe, ist einen alias
in einem anderen zu verwenden. Der alias la wird in der .bashrc als ‚ls -A
‚ definiert. Ich möchte aber wie bei ll das lange Listing haben. Deshalb definiere ich
la
wie folgt neu:
unalias la
alias la='ll -a'
Das innerhalb von la auch ll aufgelöst wird, ist leicht zu zeigen.