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
dirfü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:
ls -llistet die Dateien im aktuellen Verzeichnis auf.pwdgibt 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.
| Aufruf | Wirkung | Beispielanwendung |
|---|---|---|
alias NAME='BEFEHL' | Legt einen Alias an oder überschreibt seine bisherige Definition. | alias dir='ls -l' |
alias | Zeigt alle Aliase der aktuellen Shell. | Gesamtübersicht beim Troubleshooting |
alias NAME | Zeigt einen bestimmten Alias. | alias dir |
unalias NAME | Entfernt einen bestimmten Alias. | unalias dir |
unalias -a | Entfernt 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.
| Merkmal | Temporär im Terminal | Dauerhaft in Shell-Konfiguration |
|---|---|---|
| Gültigkeitsdauer | Bis zum Ende der aktuellen Shell-Sitzung | Bei jeder passenden neuen Sitzung, sofern die Datei geladen wird |
| Speicherort | Nur im Speicher der laufenden Shell | Zum Beispiel ~/.bashrc oder ~/.zshrc |
| Aktivierung | Sofort nach Eingabe | Durch neuen Shell-Start oder source |
| Geeignete Verwendung | Testen oder kurzfristige Aufgaben | Persönliche, regelmäßig benötigte Abkürzungen |
| Auswirkung auf neue Terminal-Sitzungen | Keine | Alias wird erneut eingerichtet, wenn die Datei geladen wird |
Typische Shell-Konfigurationsdateien
| Shell | Übliche Datei | Hinweis |
|---|---|---|
| Bash | ~/.bashrc | Typische Datei für interaktive Bash-Sitzungen |
| Bash | ~/.bash_profile oder ~/.profile | Kann 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
- Alias anlegen:
alias dir='ls -l' - Alle Aliase anzeigen:
alias - Einen Alias prüfen:
alias dir - Einen Alias entfernen:
unalias dir - Alle Aliase der aktuellen Shell entfernen:
unalias -a - Eine Bash-Konfiguration neu laden:
source ~/.bashrc - Einen aliasierten Befehl umgehen:
\lsodercommand ls
Für weitere Shell-Themen findest du auf der Seite alias-Befehl die zentrale Übersicht.