VMware ESXi and vSphere Cluster Management

Linux alias-Befehl: Befehlsabkürzungen erstellen, anzeigen und entfernen

Lerne, wie du mit alias in Bash und Zsh Linux-Befehle abkürzt, mehrere Befehle kombinierst, Aliase speicherst, prüfst und entfernst.

Mit dem Linux-Befehl alias legst du einen kurzen Namen für einen längeren Befehl oder eine häufig verwendete Befehlsfolge fest. Dadurch musst du wiederkehrende Kommandos nicht jedes Mal vollständig eingeben.

Ein Alias ist eine Funktion der Shell, zum Beispiel Bash oder Zsh. Die Shell wertet den Alias aus, bevor sie den eigentlichen Befehl startet. Ein Alias ist deshalb kein eigenständiges Linux-Programm und ersetzt auch keine ausführbare Datei.

Wozu dient der alias-Befehl?

Ein Alias verbindet einen Aliasnamen mit einem Befehl. Der Aliasname ist der kurze Name, den du später eingibst. Die Shell ersetzt ihn durch den hinterlegten Befehl oder durch eine Befehlsfolge.

  • Du sparst Tipparbeit bei langen oder häufigen Befehlen.
  • Du kannst Standardoptionen für oft verwendete Befehle festlegen.
  • Du führst wiederkehrende Aufgaben schneller und einheitlicher aus.
  • Du kannst vertraute Namen aus einer anderen Umgebung verwenden, etwa dir für eine lange Linux-Dateiliste.

Grundsyntax von alias

Die grundlegende Syntax lautet:

alias NAME='BEFEHL'

Zwischen dem Aliasnamen, dem Gleichheitszeichen und dem Wert darf kein Leerzeichen stehen. Korrekt ist:

alias dir='ls -l'

Diese Schreibweisen sind dagegen problematisch:

alias dir = 'ls -l'
alias dir= 'ls -l'

Die einfachen Anführungszeichen bilden den Aliaswert als zusammengehörige Befehlszeichenfolge ab. Das ist besonders wichtig, wenn der Wert Leerzeichen, Optionen, Sonderzeichen oder mehrere Befehle enthält. Dieses Quoting verhindert, dass die aktuelle Shell Teile des Werts schon beim Anlegen falsch interpretiert.

Einfache Aliase definieren

Ein Befehl mit Optionen

ls listet Dateien und Verzeichnisse auf. Die Option -l verwendet die lange Listenansicht mit zusätzlichen Informationen wie Dateirechten, Eigentümer, Größe und Änderungszeit.

alias ll='ls -l'

Danach führt die Eingabe ll effektiv ls -l aus. Der Aliasname ll ist frei gewählt; du kannst einen anderen eindeutigen Namen verwenden.

Beispiel für Windows-Umsteiger

Wer aus Windows kommt, kennt möglicherweise dir zum Anzeigen eines Verzeichnisinhalts. In einer Linux-Shell kannst du dafür einen Alias definieren:

alias dir='ls -l'

Die Eingabe dir ruft anschließend die lange Dateiliste von Linux auf. Der Alias passt lediglich den Namen an; der tatsächlich ausgeführte Linux-Befehl bleibt ls -l.

Mehrere Befehle in einem Alias

Ein Alias kann auch eine Befehlsfolge enthalten. Eine Befehlsfolge besteht aus mehreren nacheinander ausgeführten Befehlen. Mit einem Semikolon (;) trennst du die Befehle:

alias info='ls -l; pwd'

Bei der Eingabe von info passiert Folgendes:

  1. ls -l listet die Dateien im aktuellen Verzeichnis auf.
  2. pwd gibt anschließend das aktuelle Arbeitsverzeichnis aus.

Das ist mehr als eine einfache Abkürzung: Der Alias startet eine Befehlssequenz. Die mit ; getrennten Befehle werden nacheinander ausgeführt. Wenn die Ausführung des ersten Befehls den Erfolg des zweiten verhindern soll, ist für solche Logik meist eine Shell-Funktion geeigneter.

Das Standardverhalten eines Befehls ändern

Du kannst auch einen Alias mit dem Namen eines vorhandenen Befehls definieren. Damit ergänzt du beispielsweise bei jeder interaktiven Verwendung von ls automatisch die Option -l:

alias ls='ls -l'

Danach führt die Eingabe ls in dieser Shell standardmäßig die lange Listenansicht aus.

Aliase anzeigen und prüfen

Alle aktiven Aliase anzeigen

Der Aufruf ohne Argumente gibt die Aliase aus, die in der aktuellen Shell definiert sind:

alias

Die Ausgabe zeigt jeweils den Aliasnamen und die tatsächlich hinterlegte Befehlszeichenfolge. So kannst du kontrollieren, ob eine Definition vorhanden ist und ob sie den erwarteten Inhalt besitzt.

Einen einzelnen Alias prüfen

Mit dem Aliasnamen fragst du gezielt eine Definition ab:

alias dir

Wenn dir definiert ist, zeigt die Shell beispielsweise:

alias dir='ls -l'

Diese Prüfung ist hilfreich, wenn sich ein Befehl unerwartet verhält oder du die genaue Befehlszeichenfolge kontrollieren möchtest.

AufrufWirkungBeispielanwendung
alias NAME='BEFEHL'Legt einen Alias an oder überschreibt seine bisherige Definition.alias dir='ls -l'
aliasZeigt alle Aliase der aktuellen Shell.Gesamtübersicht beim Troubleshooting
alias NAMEZeigt einen bestimmten Alias.alias dir
unalias NAMEEntfernt einen bestimmten Alias.unalias dir
unalias -aEntfernt alle Aliase der aktuellen Shell.Zurücksetzen einer interaktiven Sitzung

Aliase entfernen

Mit unalias entfernst du eine Aliasdefinition:

unalias dir

Danach ist der Alias dir in der aktuellen Shell nicht mehr definiert. Falls es einen echten Befehl mit diesem Namen gibt, kann dieser anschließend wieder normal aufgelöst werden.

Mit der Option -a entfernst du alle Aliase der aktuellen Shell:

unalias -a

Gültigkeitsdauer und dauerhafte Speicherung

Ein Alias, den du direkt in das Terminal eingibst, gilt normalerweise nur bis zum Ende der aktuellen Shell-Sitzung. Beim Schließen des Terminals geht diese Definition verloren.

Für dauerhafte Aliase speicherst du die Definition in der Konfigurationsdatei deiner Shell. Bei Bash ist ~/.bashrc die typische Datei für interaktive Bash-Sitzungen:

alias dir='ls -l'

Füge die Zeile mit einem Texteditor in ~/.bashrc ein. Lade die Änderung danach in der aktuellen Sitzung:

source ~/.bashrc

Alternativ öffnest du ein neues Terminal. Je nach Startkonfiguration kann Bash beim Anmelden zunächst ~/.bash_profile oder ~/.profile lesen. Diese Dateien lesen häufig wiederum ~/.bashrc ein. Ob das bei deinem System so eingerichtet ist, hängt von der Konfiguration ab.

Andere Shells verwenden eigene Dateien. Für Zsh ist ~/.zshrc üblich. Ein Bash-Alias in ~/.bashrc wird nicht automatisch in einer Zsh-Sitzung verfügbar.

MerkmalTemporär im TerminalDauerhaft in Shell-Konfiguration
GültigkeitsdauerBis zum Ende der aktuellen Shell-SitzungBei jeder passenden neuen Sitzung, sofern die Datei geladen wird
SpeicherortNur im Speicher der laufenden ShellZum Beispiel ~/.bashrc oder ~/.zshrc
AktivierungSofort nach EingabeDurch neuen Shell-Start oder source
Geeignete VerwendungTesten oder kurzfristige AufgabenPersönliche, regelmäßig benötigte Abkürzungen
Auswirkung auf neue Terminal-SitzungenKeineAlias wird erneut eingerichtet, wenn die Datei geladen wird

Typische Shell-Konfigurationsdateien

ShellÜbliche DateiHinweis
Bash~/.bashrcTypische Datei für interaktive Bash-Sitzungen
Bash~/.bash_profile oder ~/.profileKann beim Anmelden geladen werden und gegebenenfalls ~/.bashrc einlesen
Zsh~/.zshrcÜbliche Konfigurationsdatei für interaktive Zsh-Sitzungen

Grenzen und sichere Verwendung

Aliase sind hauptsächlich für interaktive Arbeit gedacht

Aliase sind praktisch im Terminal, sollten aber nicht die Grundlage eines Shell-Skripts sein. Nicht-interaktive Shells laden persönliche Aliasdefinitionen oft nicht. Außerdem expandieren Aliase üblicherweise nur, wenn sie als erstes Wort eines interaktiven Befehls stehen.

Ein Skript sollte deshalb vollständige Befehle, Variablen oder Shell-Funktionen verwenden. So bleibt es unabhängig von der persönlichen Konfiguration des Benutzers.

Namenskonflikte vermeiden

Ein Alias kann denselben Namen wie ein echter Befehl haben, beispielsweise ls. Das kann zu unerwarteten Optionen oder Ausgaben führen. Prüfe in solchen Fällen den Alias mit:

alias ls

Du kannst einen aliasierten Befehl umgehen, indem du einen Backslash vor den Namen setzt:

\ls

Alternativ weist command die Shell an, den Befehl ohne Aliasauflösung aufzurufen:

command ls

Damit kannst du beispielsweise das normale Verhalten von ls verwenden, obwohl du zuvor alias ls='ls -l' definiert hast.

Typische Fehler und Lösungen

Der Alias funktioniert nur im aktuellen Terminal

Ursache: Die Definition wurde interaktiv eingegeben und nicht in einer Shell-Konfigurationsdatei gespeichert.

Lösung: Speichere die Zeile, zum Beispiel alias dir='ls -l', in ~/.bashrc und lade die Datei mit source ~/.bashrc neu. Alternativ öffnest du ein neues Terminal.

Nach der Änderung von ~/.bashrc ist der Alias nicht verfügbar

Ursache: Die laufende Shell hat die geänderte Datei noch nicht eingelesen.

Lösung: Führe aus:

source ~/.bashrc

Prüfe danach die Definition mit alias dir.

Die Definition erzeugt einen Syntaxfehler

Ursache: Häufig stehen Leerzeichen um das Gleichheitszeichen oder es fehlen Anführungszeichen bei Leerzeichen und Befehlsfolgen.

Lösung: Verwende die Form:

alias NAME='BEFEHL'

Für mehrere Befehle beispielsweise:

alias info='ls -l; pwd'

Ein Befehl verhält sich anders als in einer Anleitung

Ursache: Ein gleichnamiger Alias ergänzt Optionen oder ersetzt den erwarteten Standardaufruf.

Lösung: Prüfe den Alias mit alias NAME, entferne ihn mit unalias NAME oder umgehe ihn mit \NAME beziehungsweise command NAME.

Ein Alias wirkt in einem Shell-Skript nicht

Ursache: Das Skript läuft möglicherweise in einer nicht-interaktiven Shell, die persönliche Aliase nicht lädt oder nicht expandiert.

Lösung: Verwende im Skript den vollständigen Befehl oder eine passende Shell-Funktion beziehungsweise Variable. Verlasse dich nicht auf interaktive Aliase.

Kurzübersicht

  1. Alias anlegen: alias dir='ls -l'
  2. Alle Aliase anzeigen: alias
  3. Einen Alias prüfen: alias dir
  4. Einen Alias entfernen: unalias dir
  5. Alle Aliase der aktuellen Shell entfernen: unalias -a
  6. Eine Bash-Konfiguration neu laden: source ~/.bashrc
  7. Einen aliasierten Befehl umgehen: \ls oder command ls

Für weitere Shell-Themen findest du auf der Seite alias-Befehl die zentrale Übersicht.