Website-Suche

Verschiedene Möglichkeiten zum Erstellen und Verwenden von Bash-Aliase unter Linux


Alias in Bash kann einfach als Befehl oder Verknüpfung bezeichnet werden, die einen anderen Befehl/ein anderes Programm ausführt. Alias ist sehr hilfreich, wenn unser Befehl sehr lang ist und häufig verwendete Befehle. Im Verlauf dieses Artikels werden wir sehen, wie leistungsfähig ein Alias ist und welche verschiedenen Möglichkeiten es gibt, einen Alias einzurichten und zu verwenden.

Überprüfen Sie die Bash-Aliase unter Linux

Alias ist ein in der Shell integrierter Befehl und Sie können ihn bestätigen, indem Sie Folgendes ausführen:

type -a alias

alias is a shell builtin

Bevor wir loslegen und einen Alias einrichten, sehen wir uns die beteiligten Konfigurationsdateien an. Ein Alias kann entweder auf „Benutzerebene“ oder „Systemebene“ festgelegt werden.

Rufen Sie Ihre Shell auf und geben Sie einfach „alias“ ein, um die Liste der definierten Alias anzuzeigen.

alias

Aliase auf Benutzerebene können entweder in der Datei .bashrc oder der Datei .bash_aliases definiert werden. Die Datei .bash_aliases dient dazu, alle Ihre Aliase in einer separaten Datei zu gruppieren, anstatt sie zusammen mit anderen Parametern in die Datei .bashrc einzufügen. Zunächst wird .bash_aliases nicht verfügbar sein und wir müssen es erstellen.

ls -la ~ | grep -i .bash_aliases       # Check if file is available
touch ~/.bash_aliases                  # Create empty alias file

Öffnen Sie die Datei .bashrc und achten Sie auf den folgenden Abschnitt. Dieser Codeabschnitt ist dafür verantwortlich, zu überprüfen, ob die Datei .bash_aliases im Home-Verzeichnis des Benutzers vorhanden ist, und sie zu laden, wenn Sie eine neue Terminalsitzung starten.

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

Sie können auch eine benutzerdefinierte Aliasdatei in einem beliebigen Verzeichnis erstellen und eine Definition entweder in .bashrc oder .profile hinzufügen, um sie zu laden. Aber das würde mir nicht gefallen und ich bleibe bei der Gruppierung aller meiner Alias unter .bash_aliases.

Sie können auch Aliase unter der Datei .bashrc hinzufügen. Achten Sie auf den Abschnitt alias in der Datei .bashrc, der einige vordefinierte Aliase enthält.

enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

Add an "alert" alias for long running commands.  Use like so:
  sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

Alias unter Linux erstellen

Sie können entweder einen temporären Alias erstellen, der nur für Ihre aktuelle Sitzung gespeichert und gelöscht wird, sobald Ihre aktuelle Sitzung endet, oder einen permanenten Alias, der dauerhaft ist.

Die Syntax zum Erstellen eines Alias unter Linux.

alias <name-of-the-command>="command to run"

Zum Beispiel in einem realen Szenario.

alias Hello="echo welcome to Tecmint"

Öffnen Sie das Terminal und erstellen Sie einen beliebigen Alias-Befehl. Wenn Sie eine andere Sitzung öffnen, ist der neu erstellte Alias nicht verfügbar.

alias Hello"echo welcome to Tecmint"
alias
Hello

Um den Alias dauerhaft zu machen, fügen Sie ihn der Datei .bash_aliases hinzu. Sie können Ihren bevorzugten Texteditor verwenden oder den Befehl cat oder echo verwenden, um einen Alias hinzuzufügen.

echo alias nf="neofetch" >> ~/.bash_aliases
cat >> ~/.bash_aliases
cat ~/.bash_aliases

Sie müssen die Datei .bash_aliases neu laden, damit die Änderungen in der aktuellen Sitzung wirksam werden.

source ~/.bash_aliases

Wenn ich nun „nf“ ausführe, was ein Alias für „neofetch“ ist, wird das Programm neofetch ausgelöst.

nf

Ein Alias kann nützlich sein, wenn Sie das Standardverhalten eines Befehls überschreiben möchten. Zur Demonstration verwende ich einen Uptime-Befehl, der die Systemverfügbarkeit, die Anzahl der angemeldeten Benutzer und die durchschnittliche Systemlast anzeigt. Jetzt werde ich einen Alias erstellen, der das Verhalten des Uptime-Befehls überschreibt.

uptime
cat >> ~/.bash_aliases alias uptime="echo 'I am running uptime command now'"
source ~/.bash_aliases
uptime

Aus diesem Beispiel können Sie schließen, dass Bash-Aliase Vorrang haben, bevor der eigentliche Befehl überprüft und aufgerufen wird.

cat ~/.bash_aliases
source ~/.bash_aliases
uptime

Entfernen eines Alias unter Linux

Entfernen Sie nun den Eintrag uptime aus der Datei .bash_aliases und laden Sie die Datei .bash_aliases neu, wodurch weiterhin die uptime ausgegeben wird mit Alias-Definition. Dies liegt daran, dass die Alias-Definition in die aktuelle Shell-Sitzung geladen wird und wir entweder eine neue Sitzung starten oder die Alias-Definition löschen müssen, indem wir den Befehl unalias ausführen, wie im gezeigt Bild unten.

unalias uptime

Systemweite Aliase hinzufügen

Bisher haben wir gesehen, wie man einen Alias auf Benutzerebene einrichtet. Um einen Alias global festzulegen, können Sie die Datei „/etc/bash.bashrc“ ändern und Aliase hinzufügen, die global wirksam sind. Sie benötigen die erhöhte Berechtigung, um die Datei bash.bashrc zu ändern.

Alternativ erstellen Sie ein Skript unter „/etc/profile.d/“. Wenn Sie sich bei einer Shell anmelden, führt „/etc/profile“ jedes Skript unter profile.d aus, bevor ~/.profile tatsächlich ausgeführt wird. Diese Methode verringert das Risiko, dass entweder die Dateien /etc/profile oder /etc/bash.bashrc beschädigt werden.

sudo cat >> /etc/profile.d/alias.sh
alias ls=”ls -ltra”

Unten finden Sie den Code aus /etc/profile, der sich um die Ausführung aller Skripte kümmert, die wir unter /etc/profiles.d/ abgelegt haben. Es sucht nach Dateien mit der Erweiterung .sh und führt den Quellbefehl aus.

tail /etc/profile

Das war’s für diesen Artikel. Wir haben gesehen, was ein Alias ist, welche Konfigurationsdateien mit dem Alias verbunden sind und welche verschiedenen Möglichkeiten es gibt, den Alias lokal und global einzurichten.