Alias

Aus mxlinuxusers.de

alias[Bearbeiten | Quelltext bearbeiten]

Das Kommando alias bietet die Möglichkeit, Befehlen einen anderen Namen (Alias oder Synonym) zu geben. Dies ist besonders nützlich um die Schreibarbeit bei häufig genutzten Kommandos mit eventuell vielen Optionen zu verkürzen.

Syntax[Bearbeiten | Quelltext bearbeiten]

Die Syntax ist einfach:

alias aliasname='Kommando'

z.B.

alias ll='ls --time-style=long-iso -lh'

dies bedeutet, dass die Eingabe von

ll

die gleiche Ausgabe erzeugt, wie das Kommando

ls --time-style=long-iso -lh

Wichtig ist, dass zwischen AliasNamen, Gleichheitszeichen und Kommando keine Leerzeichen stehen dürfen. Ein

alias ll = 'ls --time-style=long-iso -lh'

wäre also falsch und ein Syntaxfehler.

Auch zur "Entschärfung" von potentiell gefährlichen Kommandos kann ein Alias benutzt werden:

alias rm='rm -i'

bewirkt, dass rm immer automatisch mit der Option -i aufgerufen wird. Dadurch wird vor dem löschen von Dateien erst nachgefragt, ob die Datei tatsächlich gelöscht werden soll. Wer es nicht ganz so radikal haben möchte, kann auch dieses Alias benutzen

alias rm='rm -I'

bei dem erst eine Löschbestätigung angefordert wird, wenn man mehr als drei Dateien löschen möchte.

Ein anderer Verwendungszweck von alias kann auch darin bestehen, sich ein leichter merkbares Kommando-Alias zu schaffen. Wer sich z.B. nicht mit dem Kommando grep abfinden möchte, kann auch dieses Alias definieren:

alias suche='grep -i'

Dies sollte aber nur mit Bedacht gemacht werden, es besteht die Gefahr, dass man die eigentlichen Befehle etwas aus dem Gedächtnis verliert.

Möchte man alle definierten Aliase anzeigen, reicht die Eingabe von

alias

Definition[Bearbeiten | Quelltext bearbeiten]

Es gibt im wesentlichen zwei Wege, um Aliase zu definieren. Die erste passiert sozusagen "on the fly" und ist nur für den Moment, das heisst für die momentane Sitzung gültig. Wie oben angeführt gibt man einfach dieses Alias im Teminal auf der Kommandozeile ein:

alias jetzt='date +"%F_%T"'

sobald man dies eingetippt hat, kann man danach sofort das Alias jetzt eingeben und erhält die gleiche Ausgabe wie für das Kommando date +"%F_%T"

jetzt
2021-08-07_20:59:21

Da die Freude aber nicht lange anhält (nach dem nächsten Ausloggen ist das Alias wieder vergessen) ist dies nur zum Testen oder zur kurzen spontanen Verwendung nützlich. Deshalb sollte man zur dauerhaften Verwendung die zweite Methode benutzen und das Alias in eine Datei eintragen, die beim Starten der Sitzung ausgeführt wird. Dabei handelt es sich um die schon im eigenen Verzeichnis vorhandene Datei .bashrc oder die ebenfalls im Homeverzeichnis liegende Datei .bash_aliases

.bashrc[Bearbeiten | Quelltext bearbeiten]

Die Datei ~/.bashrc ist ein Shellskript, das beim Einloggen ausgeführt und damit auch ausgewertet wird und verschiedene Definitionen und Funktionen wie z.B. das Aussehen des Prompts und den Pfad (PATH) festlegt. Unter anderem sind dort auch schon einige Aliase definiert, an deren Stelle die eigenen Aliase eingefügt werden können. Diesen Abschnitt findet man, indem man nach der Zeile

# Alias definitions.

sucht. Eigentlich ist es nicht notwendig, seine Aliase genau in diesen Abschnitt zu schreiben, man könnte sie auch an das Ende der ~/.bashrc setzen, aber verständlicherweise dient es der Übersichtlichkeit, sie alle an einer Stelle zusammen zu halten. Dies führt zu der zweiten, weiter oben schon erwähnten Datei ~/.bash_aliases

.bash_aliases[Bearbeiten | Quelltext bearbeiten]

Wie der Dateiname schon andeutet, ist diese Datei dafür vorgesehen, um alle Aliase übersichtlich in einer Datei zu definieren. Es ist also nützlich, die in der Datei .bashrc schon vorhandenen Aliase mit einem Editor nach der Datei ~/.bash_aliases zu verschieben (aus .bashrc nach ~/.bash_aliases kopieren und anschliessend die betreffenden Zeilen in der .bashrc löschen). Wenn die Datei ~/.bash_aliases noch nicht existiert legt man sie mit einem Editor oder dem Kommando

touch ~/.bash_aliases

an.

Um dies zu verdeutlichen, der betreffende Abschnitt in der .bashrc würde dann so aussehen:

# Alias definitions.
if [ -f ~/.bash_aliases ]; then
   . ~/.bash_aliases
fi

wobei die Kommandos zwischen if und fi bedeuten, dass nach der Datei ~/.bash_aliases gesucht wird und wenn diese vorhanden ist, wird sie eingelesen.

Weblinks[Bearbeiten | Quelltext bearbeiten]