Befehlszeilen-Aliase in der Linux-Shell

Bisher haben wir in dieser Tutorial-Serie die grundlegende Verwendung sowie die Details der Befehle cd – und pushd/pd sowie der Umgebungsvariablen CDPATH diskutiert. In dieser vierten und letzten Tranche werden wir auch das Konzept der Aliase diskutieren, wie Sie sie verwenden können, um Ihre Kommandozeilen-Navigation einfacher und reibungsloser zu gestalten.

Befehlszeilen-Aliase unter Linux

Im Sinne des Laien können Aliase als Kurznamen oder Abkürzungen für einen komplexen Befehl oder eine Gruppe von Befehlen, einschließlich ihrer Argumente oder Optionen, betrachtet werden. Im Grunde genommen erstellen Sie also mit Aliases leicht zu merkende Namen für nicht so einfach zu tippende/erinnernde Befehle.

Der folgende Befehl erstellt beispielsweise einen Alias ‚home‘ für den cd Befehl ‚cd ~‘:

alias home="cd ~"

Das bedeutet, dass Sie jetzt schnell „home“ eingeben und die Eingabetaste drücken können, wann immer Sie von überall auf Ihrem System in Ihr Home-Verzeichnis zurückkehren möchten.

Hier ist, was die alias command man page über dieses Dienstprogramm sagt:

The alias utility shall create or redefine alias definitions or write the values of existing alias definitions to standard output. An alias definition provides a string value that shall replace a command name when it is encountered

An alias definition shall affect the current shell execution environment and the execution environments of the subshells of the current shell. When used as specified by this volume of IEEE Std 1003.1-2001, the alias definition shall not affect the parent process of the current shell nor any utility environment invoked by the shell.

Also, wie genau helfen Aliase bei der Kommandozeilen-Navigation? Nun, hier ist ein einfaches Beispiel:

Angenommen, Sie arbeiten im Verzeichnis /home/himanshu/projects/howtoforge, das weiterhin viele Unterverzeichnisse und Unterverzeichnisse enthält. Zum Beispiel ist das Folgen ein kompletter Verzeichniszweig:

/home/himanshu/projects/howtoforge/command-line/navigation/tips-tricks/part4/final

Stellen Sie sich nun vor, Sie befinden sich im Verzeichnis „final“, und dann wollen Sie zurück zum Verzeichnis „tips-tricks“, und von dort aus müssen Sie zurück zum Verzeichnis „howtoforge“ gelangen. Was würdest du tun?

Nun, normalerweise würdest du den folgenden Befehlssatz ausführen:

cd ../..
cd ../../..

Obwohl dieser Ansatz an sich nicht falsch ist, ist er definitiv nicht bequem, besonders wenn man zurückgehen muss, sagen wir 5 Verzeichnisse auf einem sehr langen Weg. Also, was ist die Lösung? Die Antwort ist: Aliase.

Was Sie tun können, ist, dass Sie leicht zu merkende (und einzugebende) Aliase für jeden der cd… Befehle erstellen können. Zum Beispiel:

alias bk1="cd .."
alias bk2="cd ../.."
alias bk3="cd ../../.."
alias bk4="cd ../../../.."
alias bk5="cd ../../../../.."

Also, wann immer du jetzt zurückgehen willst, sagen wir 5 Stellen, von deinem aktuellen Arbeitsverzeichnis, kannst du einfach den folgenden Befehl ausführen:

bk5

Ist das nicht jetzt einfach?

Verwandte Details

Während die Technik, mit der wir bisher Aliase definiert haben (mit dem Befehl alias), in der Shell-Eingabeaufforderung den Zweck erfüllt, existieren die Aliase nur für die aktuelle Terminalsitzung. Es besteht eine gute Chance, dass von Ihnen definierte Aliase bestehen bleiben, so dass sie in jedem neuen Befehlszeilenfenster/Tab verwendet werden können, das Sie danach starten.

Dazu müssen Sie Ihre Aliase in der Datei ~/.bash_aliases definieren, die standardmäßig von Ihrer Datei ~/.bashrc geladen wird (bitte überprüfen Sie dies, wenn Sie eine ältere Ubuntu-Version verwenden).

Nachfolgend ist der Auszug aus meiner.bashrc-Datei, der über die.bash_aliases-Datei spricht:

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

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

Sobald Sie Ihrer .bash_aliases-Datei eine Alias-Definition hinzugefügt haben, ist dieser Alias auf jedem neuen Terminal verfügbar. Sie können es jedoch nicht in einem anderen Terminal verwenden, das bereits geöffnet war, als Sie diesen Alias definiert haben – der Ausweg ist, .bashrc von diesen Terminals zu beziehen. Nachfolgend finden Sie den genauen Befehl, den Sie ausführen müssen:

source ~/.bashrc

Wenn das ein wenig zu viel Arbeit klingt (ja, ich sehe dich LAZY ONES an), dann gibt es hier eine Abkürzung, um das alles zu tun:

"alias [the-alias]" >> ~/.bash_aliases && source ~/.bash_aliases

Unnötig zu sagen, dass du[the-alias] durch den eigentlichen Befehl ersetzen musst. Zum Beispiel:

"alias bk5='cd ../../../../..'" >> ~/.bash_aliases && source ~/.bash_aliases

Weiter geht es, nehmen wir an, Sie haben einige Aliase erstellt und verwenden sie seit einigen Monaten ein- und ausgeschaltet. Plötzlich, eines Tages, zweifelst du daran, dass einer von ihnen nicht wie erwartet funktioniert. Sie haben also das Bedürfnis, sich genau den Befehl anzusehen, der diesem Alias zugewiesen wurde. Was würdest du tun?

Natürlich kannst du deine .bash_aliases-Datei öffnen und einen Blick darauf werfen, aber dieser Prozess kann etwas zeitaufwendig sein, besonders wenn die Datei viele Aliase enthält. Wenn Sie also nach einem einfachen Ausweg suchen, hier ist einer: Alles, was Sie tun müssen, ist, den Befehl alias mit dem Alias-Namen als Argument auszuführen.

Hier ist ein Beispiel:

$ alias bk6
alias bk6='cd ../../../../../..'

Wie Sie sehen können, hat der vorgenannte Befehl den aktuellen Befehl angezeigt, der dem bk6-Alias zugeordnet ist. Es gibt noch eine weitere Möglichkeit: den Befehl type zu verwenden. Nachfolgend ein Beispiel:

$ type bk6
bk6 is aliased to `cd ../../../../../..'

Der Type-Befehl erzeugt also eine menschenverständliche Ausgabe.

Eine weitere Sache, die es wert ist, hier geteilt zu werden, ist, dass du Aliase für die üblichen Tippfehler verwenden kannst, die du machst. Zum Beispiel:

alias mroe='more'

Schließlich ist es auch erwähnenswert, dass nicht jeder für die Verwendung von Aliasen ist. Die meisten von ihnen argumentieren, dass es für dich wirklich schwierig wird, an einem anderen System zu arbeiten, wo diese Aliase nicht existieren (und du darfst auch keine erstellen), sobald du dich an die von dir definierten Aliase gewöhnt hast. Für weitere (sowie genaue Gründe), warum einige Experten die Verwendung von Aliasen nicht empfehlen, können Sie hier klicken.

Fazit

Wie die Umgebungsvariable CDPATH, die wir im vorherigen Teil besprochen haben, ist auch alias ein zweischneidiges Schwert, das man sehr vorsichtig verwenden sollte. Lassen Sie sich aber nicht entmutigen, denn alles hat seine eigenen Vor- und Nachteile. Gerade diese Praxis und das vollständige Wissen ist der Schlüssel, wenn es um Konzepte wie Aliase geht.

Damit ist das Ende dieser Tutorial-Serie erreicht. Ich hoffe, es hat dir gefallen und du hast auch einige neue Dinge/Konzepte daraus gelernt. Falls Sie irgendwelche Zweifel oder Fragen haben, teilen Sie diese bitte mit uns (und dem Rest der Welt) in den Kommentaren unten.

Das könnte dich auch interessieren …