Wie man prüft, ob ein Shell-Alias in Linux definiert ist

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie prüfen können, ob ein Shell-Alias (Shell-Alias) in Linux definiert ist. Sie beginnen damit, die derzeit definierten Aliase mit dem Befehl alias aufzulisten, um zu verstehen, was Aliase sind und wie sie angezeigt werden.

Als Nächstes werden Sie die gängigen Speicherorte erkunden, an denen Aliase konfiguriert werden. Dazu gehört die Prüfung der benutzerspezifischen Aliase, die normalerweise in der Datei ~/.bashrc gespeichert sind, und die Inspektion der systemweiten Aliase, die in der Datei /etc/bash.bashrc zu finden sind. Am Ende dieses Labs können Sie die Alias-Definitionen in Ihrer Linux-Umgebung identifizieren und lokalisieren.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/TextProcessingGroup -.-> linux/sed("Stream Editing") subgraph Lab Skills linux/ls -.-> lab-558752{{"Wie man prüft, ob ein Shell-Alias in Linux definiert ist"}} linux/cat -.-> lab-558752{{"Wie man prüft, ob ein Shell-Alias in Linux definiert ist"}} linux/grep -.-> lab-558752{{"Wie man prüft, ob ein Shell-Alias in Linux definiert ist"}} linux/sed -.-> lab-558752{{"Wie man prüft, ob ein Shell-Alias in Linux definiert ist"}} end

Auflisten von Aliasen mit dem alias-Befehl

In diesem Schritt lernen Sie etwas über Aliase (Aliase) in Linux und wie Sie sie mit dem Befehl alias auflisten können.

Ein Alias ist eine Abkürzung, die es Ihnen ermöglicht, einen langen Befehl durch einen kürzeren und leichter zu merkenden zu ersetzen. Dies kann Ihnen viel Tipparbeit ersparen und Ihre Kommandozeilen-Erfahrung effizienter gestalten.

Beispielsweise könnten Sie anstelle des ständigen Tippens von ls -l, wenn Sie eine detaillierte Dateiliste anzeigen möchten, einen Alias wie ll erstellen, der dasselbe tut.

Um die Aliase anzuzeigen, die derzeit in Ihrer Terminal-Sitzung festgelegt sind, geben Sie einfach den Befehl alias ein und drücken Sie die Eingabetaste:

alias

Sie werden eine Liste von Aliasen sehen, ähnlich dieser:

alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

Diese Ausgabe zeigt den Alias-Namen auf der linken Seite (z. B. ll) und den Befehl, den er darstellt, auf der rechten Seite (z. B. ls -alF).

Beachten Sie den ls-Alias. Er ist auf ls --color=auto festgelegt. Das bedeutet, dass jedes Mal, wenn Sie ls eingeben, das System tatsächlich ls --color=auto ausführt, was die Ausgabe farbig gestaltet, um die Lesbarkeit zu verbessern.

Das Verständnis von Aliasen ist der erste Schritt, um Ihre Terminal-Umgebung anzupassen und sie für Sie besser funktionieren zu lassen.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Prüfen von Benutzer-Aliasen in ~/.bashrc

Im vorherigen Schritt haben Sie mit dem Befehl alias eine Liste von Aliasen gesehen. Jetzt wollen wir untersuchen, wo einige dieser Aliase definiert sind.

Benutzerspezifische Aliase werden oft in Konfigurationsdateien in Ihrem Home-Verzeichnis gespeichert. Für Benutzer der Bash-Shell ist eine häufige Speicherstelle die Datei ~/.bashrc. Obwohl diese Lab-Umgebung zsh verwendet, ist es wichtig, die Rolle von ~/.bashrc zu verstehen, da es in vielen Linux-Systemen weit verbreitet ist.

Das Symbol ~ ist eine Abkürzung für Ihr Home-Verzeichnis, das in dieser Umgebung /home/labex ist. Somit bezieht sich ~/.bashrc auf die Datei .bashrc, die sich direkt in Ihrem Home-Verzeichnis befindet. Der Punkt (.) am Anfang des Dateinamens macht es zu einer versteckten Datei, was bedeutet, dass sie nicht mit einem einfachen ls-Befehl angezeigt wird, es sei denn, Sie verwenden die Option -a.

Lassen Sie uns den Inhalt der Datei ~/.bashrc mit dem Befehl cat anzeigen. cat wird verwendet, um den Inhalt von Dateien anzuzeigen.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

cat ~/.bashrc

Sie werden den Inhalt der Datei .bashrc sehen. Scrollen Sie durch die Ausgabe, um nach Zeilen zu suchen, die mit alias beginnen.

## some example aliases
## alias ll='ls -l'
## alias la='ls -a'

## Add an "alert" alias for long running commands.  Use like:
##   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 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

## enable programmable completion features (you don't need to enable
## this, if it's already enabled in /etc/bash.bashrc and /etc/profile
## sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Sie werden vielleicht bemerken, dass einige Zeilen, die mit alias beginnen, mit einem # kommentiert sind. Dies sind Beispiele oder inaktive Aliase. Die aktiven Aliase sind diejenigen, die am Anfang der Zeile kein # haben.

In dieser Datei würden Sie normalerweise Ihre eigenen benutzerdefinierten Aliase hinzufügen, wenn Sie Bash verwenden. Beispielsweise könnten Sie eine Zeile wie alias update='sudo apt update && sudo apt upgrade' hinzufügen, um einen Alias für die Aktualisierung Ihres Systems zu erstellen.

Klicken Sie auf Weiter, um fortzufahren und systemweite Aliase zu untersuchen.

Prüfen von System-Aliasen in /etc/bash.bashrc

Neben benutzerspezifischen Konfigurationsdateien wie ~/.bashrc gibt es auch systemweite Konfigurationsdateien, die für alle Benutzer auf dem System gelten. Bei Bash ist eine solche Datei /etc/bash.bashrc.

Diese Datei enthält oft Standard-Einstellungen und Aliase, die der Systemadministrator für alle Benutzer verfügbar machen möchte.

Da sich diese Datei im Verzeichnis /etc befindet, das normalerweise für Systemkonfigurationen reserviert ist, benötigen Sie möglicherweise Administratorrechte, um sie zu ändern. Allerdings können wir ihren Inhalt mit cat ohne besondere Berechtigungen anzeigen.

Lassen Sie uns den Inhalt der Datei /etc/bash.bashrc anzeigen. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

cat /etc/bash.bashrc

Sie werden den Inhalt der systemweiten Bash-Konfigurationsdatei sehen. Suchen Sie nach Zeilen, die Aliase definieren.

## System-wide .bashrc file for interactive bash(1) shells.

## To enable the setting of the locale environment variables see
## /etc/profile.d/locale.sh. By default in Ubuntu OnLine,
## this is done from /etc/profile.

## If not running interactively, don't do anything
[ -z "$PS1" ] && return

## check the window size after each command and, if necessary,
## update the values of LINES and COLUMNS.
shopt -s checkwinsize

## If set, the pattern "**" used in a pathname expansion context should
## match only directories and subdirectories in addition to the contents of
## the current directory.
#shopt -s globstar

## make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

## set variable identifying the chroot you work in (used in the prompt)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

## 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;34):quote=01;32'

## some more ls aliases
#alias ll='ls -l' #alias ll='ls -alF'
#alias la='ls -a' #alias la='ls -AF'
#alias l='ls -CF'

## Add an alias for the 'alert' command
#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$//'\'')"'

## enable programmable completion features (you don't need to enable
## this, if it's already enabled in /etc/bash.bashrc and /etc/profile
## sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Sie sollten einige der gleichen Aliase sehen, die Sie auch mit dem Befehl alias gesehen haben, wie beispielsweise den ls-Alias mit Farbauflösung. Dies bestätigt, dass einige der Standard-Aliase, die Sie verwenden, systemweit festgelegt sind.

Das Verständnis, wo Aliase definiert sind, hilft Ihnen, unerwartetes Verhalten zu beheben und Ihre Umgebung effektiv anzupassen.

Sie haben nun gelernt, wie Sie aktive Aliase auflisten und die gängigen Konfigurationsdateien prüfen können, in denen sie gespeichert sind.

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie prüfen können, ob ein Shell-Alias in Linux definiert ist. Sie haben begonnen, indem Sie den Befehl alias verwendet haben, um die derzeit in Ihrer Terminal-Sitzung festgelegten Aliase aufzulisten. Dabei haben Sie verstanden, dass Aliase Abkürzungen für längere Befehle sind.

Anschließend haben Sie die gängigen Speicherorte für Aliase untersucht, wobei Sie sich insbesondere auf benutzerspezifische Aliase konzentriert haben, die oft in der Datei ~/.bashrc zu finden sind, sowie auf systemweite Aliase, die in Dateien wie /etc/bash.bashrc gespeichert sein können. Dieser Prozess hilft Ihnen zu verstehen, wie Aliase konfiguriert werden und wo Sie ihre Definitionen finden können.