Aliase in Bash: Eigene Kurzbefehle für den Linux-Alltag

In den letzten Beiträgen ging es darum, Befehlszeilen zu verstehen und passende Hilfe zu finden. Mit zunehmender Praxis fallen dabei bestimmte Aufrufe auf, die immer wieder gebraucht werden: eine ausführliche Dateiliste, der Wechsel in ein häufig genutztes Verzeichnis oder das Aktualisieren installierter Software.

Für solche Fälle bietet Bash Aliase. Sie geben einer Befehlsfolge einen eigenen Namen. Aus ls -lh wird beispielsweise ll – und aus zwei aufeinanderfolgenden Update-Befehlen ein persönlicher Kurzbefehl.

Dabei geht es nicht darum, die ursprünglichen Befehle zu vergessen. Ein Alias ist eine praktische Abkürzung für einen bereits verstandenen Aufruf.

Was ist ein Alias?

Ein Alias ist eine Textersetzung, die Bash beim Lesen eines Befehls berücksichtigt. Steht ein bekannter Alias am Anfang eines einfachen Befehls, ersetzt die Shell ihn durch den hinterlegten Text.

Die grundlegende Schreibweise lautet:

alias name='Befehlsfolge'

Ein erstes Beispiel:

alias ll='ls -lh'

Danach kann in einer neuen Eingabezeile Folgendes ausgeführt werden:

ll

Bash behandelt diesen Aufruf dann wie:

ls -lh

Die Bestandteile der Definition sind:

BestandteilBedeutung
aliasBash-Befehl zum Definieren oder Anzeigen von Aliasen
llSelbst gewählter Kurzname
=Verbindet Namen und Ersatztext, ohne Leerzeichen
'ls -lh'Befehlsfolge, die eingesetzt wird

Die einfachen Anführungszeichen halten den Ersatztext zusammen und verhindern hier eine vorzeitige Auswertung durch die Shell.

Einen Alias zunächst ausprobieren

Zum Testen genügt die direkte Eingabe im Terminal:

alias ll='ls -lh'

Anschließend:

ll

Bei GNU ls steht -l für die ausführliche Listenansicht. -h stellt Dateigrößen in dieser Ansicht in leichter lesbaren Einheiten dar, beispielsweise mit Größenkennzeichen wie K, M oder G.

Auch zusätzliche Argumente sind möglich:

ll /etc

Daraus wird:

ls -lh /etc

Die hinter dem Alias angegebenen Argumente bleiben erhalten. Der Alias legt also eine Voreinstellung fest, ohne das Zielverzeichnis festzuschreiben.

Eine so eingegebene Definition gilt zunächst nur in der aktuellen Shell. Damit sie beim nächsten Start wieder vorhanden ist, muss sie aus einer Konfigurationsdatei geladen werden.

Aliase dauerhaft in .bash_aliases speichern

Für eigene Aliase bietet sich die Datei ~/.bash_aliases an. Sie liegt im persönlichen Homeverzeichnis und hält die Alias-Sammlung von anderen Einstellungen getrennt.

Wichtig: Bash liest diese Datei nicht automatisch aufgrund ihres Namens. Sie muss beispielsweise aus ~/.bashrc eingebunden werden. Manche Distributionen haben diese Einbindung bereits vorbereitet, andere nicht.

Schritt 1: Die Alias-Datei mit nano öffnen

nano ~/.bash_aliases

Falls die Datei noch nicht existiert, kann sie in nano neu angelegt werden. Nano ist ein Kommandozeilentexteditor. Trage zunächst diese Beispiele ein:

# Ausführliche Dateiliste mit lesbaren Größen
alias ll='ls -lh'

# Alle Einträge, einschließlich versteckter Namen
alias la='ls -A'

# Ausführliche Liste einschließlich versteckter Namen
alias lla='ls -lhA'

-A zeigt auch Namen mit führendem Punkt, lässt aber die besonderen Einträge . und .. aus. Die Namen ll, la und lla sind persönliche Konventionen – keine überall identischen Standardbefehle.

Zum Speichern und Beenden in nano:

  1. Strg + O drücken.
  2. Den Dateinamen mit Enter bestätigen.
  3. Mit Strg + X den Editor verlassen

Für Dateien im eigenen Homeverzeichnis wird hier kein sudo benötigt.

Schritt 2: Die Einbindung in .bashrc prüfen

Öffne die Bash-Konfiguration:

nano ~/.bashrc

Suche nach einer vorhandenen Einbindung von .bash_aliases. Falls sie bereits vorhanden ist, muss sie nicht erneut hinzugefügt werden.

Andernfalls ergänze am Ende der Datei:

# Persönliche Aliase laden
if [ -f "$HOME/.bash_aliases" ]; then
    source "$HOME/.bash_aliases"
fi

Dieser Block prüft, ob die Datei existiert, und liest ihren Inhalt in die aktuelle Shell ein. source führt die enthaltenen Anweisungen nicht in einer getrennten Shell aus – dadurch werden die Aliase für die aktuelle Sitzung definiert. Wenn du dich mit Bash-Scripting noch nicht so gut auskennst ist das nicht so wild, auch copy-past ist am Anfang okay.

Speichere wieder mit Strg + O, Enter und Strg + X.

Schritt 3: Die Aliase sofort laden

Damit du nicht erst ein neues Terminal öffnen musst:

source ~/.bash_aliases

Jetzt sollten beispielsweise diese Aufrufe funktionieren:

ll
la
lla /etc

Ein gemeinsamer Update-Alias für DNF und Flatpak

Eins der Aliase, die ich täglich nutze um Updates auf meinem System einzufahren ist update. Auf einem klassischen, mit DNF verwalteten Fedora-System können Systempakete und Flatpaks nacheinander aktualisiert werden. Was das tippen beider Befehle eliminiert.

alias update='sudo dnf --refresh upgrade && flatpak update'

Diese Zeile kommt ebenfalls in ~/.bash_aliases. Anschließend wird die Datei neu geladen:

source ~/.bash_aliases

Der Aufruf lautet dann:

update

Was wird dabei ausgeführt?

BestandteilWirkung
sudo dnf --refresh upgradeAktualisiert die Paketmetadaten und führt verfügbare Paketaktualisierungen aus
&&Startet den nächsten Befehl nur bei erfolgreichem Abschluss des ersten
flatpak updateAktualisiert installierte Flatpak-Anwendungen und Laufzeitumgebungen

DNF aktualisiert dabei die über seine Paketverwaltung verwalteten Pakete. Flatpak übernimmt seine eigenen Anwendungen und Laufzeitumgebungen.

Der Alias verwendet bewusst kein -y. Du kannst die vorgeschlagenen Änderungen daher vor der Bestätigung prüfen. Wenn der DNF-Befehl fehlschlägt oder mit einem Fehlerstatus abgebrochen wird, verhindert && die anschließende Flatpak-Aktualisierung.

flatpak update wird hier ohne sudo gestartet. Ohne eine einschränkende Option berücksichtigt der Befehl sowohl die persönliche als auch die standardmäßige systemweite Installation. Erforderliche Berechtigungsprüfungen hängen von der Systemkonfiguration ab.

Dieser Alias ist kein allgemeiner Linux-Update-Befehl und kein Wechsel auf eine neue Fedora-Hauptversion. Er passt zu Systemen, deren Betriebssystempakete tatsächlich mit DNF aktualisiert werden.

Weitere einfache Aliase für den Alltag

Nicht jeder Alias muss eine lange Befehlsfolge ersetzen. Auch kurze, häufig verwendete Aufgaben können einen gut merkbaren Namen bekommen.

Schnell ins Homeverzeichnis

alias home='cd ~'

Mit:

home

wechselst du in dein persönliches Homeverzeichnis. Die Tilde wird beim späteren Ausführen der Alias-Ersetzung ausgewertet.

Eine Verzeichnisebene nach oben

alias ..='cd ..'

Danach genügt:

..

Der Befehl wechselt ins übergeordnete Verzeichnis. Hier ist der Alias absichtlich sehr kurz – er soll eine häufige Navigationsaktion vereinfachen.

Ein persönliches Arbeitsverzeichnis öffnen

alias projekte='cd "$HOME/Projekte"'

Der Aufruf:

projekte

wechselt in das Verzeichnis Projekte im Homeverzeichnis, sofern dieses existiert. Die inneren doppelten Anführungszeichen schützen den ausgewerteten Pfad.

Die Alias-Datei bearbeiten

alias aliasedit='nano "$HOME/.bash_aliases"'

Damit öffnet:

aliasedit

direkt die eigene Sammlung.

Änderungen neu laden

alias aliasladen='source "$HOME/.bash_aliases"'

Nach dem Bearbeiten reicht dann:

aliasladen

Dieser Kurzbefehl ist selbst erst verfügbar, nachdem seine Definition einmal geladen wurde. Er aktualisiert außerdem nur die aktuelle Shell, nicht automatisch alle bereits geöffneten Terminalfenster.

Eine übersichtliche Beispielsammlung

Eine kleine ~/.bash_aliases könnte damit so aussehen:

# Dateilisten
alias ll='ls -lh'
alias la='ls -A'
alias lla='ls -lhA'

# Navigation
alias zuhause='cd ~'
alias ..='cd ..'
alias projekte='cd "$HOME/Projekte"'

# Eigene Alias-Datei verwalten
alias aliasedit='nano "$HOME/.bash_aliases"'
alias aliasladen='source "$HOME/.bash_aliases"'

# Updates: für klassische DNF-basierte Systeme mit Flatpak
alias update='sudo dnf --refresh upgrade && flatpak update'

Übernimm nur die Einträge, die zu deinem System passen. Insbesondere der Update-Alias setzt voraus, dass DNF und Flatpak vorhanden sind und für diese Aufgaben verwendet werden.

Aliase anzeigen, prüfen und entfernen

Alle aktuell definierten Aliase zeigt:

alias

Eine einzelne Definition lässt sich so ansehen:

alias ll

Wenn du wissen möchtest, was Bash bei einem Namen tatsächlich verwenden würde:

type ll

So erkennst du beispielsweise, ob der Name bereits als Alias oder Funktion existiert. Das ist vor dem Anlegen eigener Kurznamen hilfreich.

Ein Alias wird in der aktuellen Sitzung so entfernt:

unalias ll

Für eine dauerhafte Entfernung muss zusätzlich seine Definition aus ~/.bash_aliases gelöscht werden. Sonst wird er beim nächsten Laden erneut angelegt.

Wichtig: Das erneute Einlesen der Datei entfernt keine alten Definitionen, deren Zeile du inzwischen gelöscht hast. Dafür verwendest du unalias oder startest eine neue Shell.

Grenzen: Wann ein Alias nicht mehr ausreicht

Aliase eignen sich für feste Abkürzungen. Sie bieten jedoch keine eigene Verwaltung von Positionsparametern, mit der Argumente beliebig im Ersatztext verteilt werden könnten. Für solche Aufgaben empfiehlt die Bash-Dokumentation Shell-Funktionen.

Der Unterschied:

ll /etc

funktioniert, weil /etc einfach hinter dem ersetzten ls -lh stehen bleibt. Soll dagegen ein übergebener Name an mehreren Stellen verwendet oder erst geprüft werden, ist eine Funktion geeigneter.

Außerdem werden Aliase in gewöhnlichen nicht interaktiven Bash-Skripten standardmäßig nicht expandiert. Skripte sollten daher nicht von deinen persönlichen Kurzbefehlen abhängen. Dort sind die ursprünglichen Befehle oder ausdrücklich definierte Funktionen besser nachvollziehbar.

Fazit: Weniger tippen, die Wirkung trotzdem verstehen

Aliase machen häufig verwendete Befehle bequemer: ll liefert die bevorzugte Dateiansicht, projekte öffnet den Arbeitsbereich und update kann auf einem passenden System DNF- und Flatpak-Aktualisierungen verbinden.

Die saubere Grundlage ist eine übersichtliche ~/.bash_aliases, die aus der .bashrc geladen wird. So bleibt die persönliche Sammlung leicht auffindbar und mit nano einfach bearbeitbar.

Der beste Alias ist dabei nicht unbedingt der kürzeste. Es ist derjenige, dessen Name du dir merken kannst und dessen Wirkung du auch ohne Abkürzung verstehst.


,
Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

58 Beiträge
39 Folgende