Forskellige måder at oprette og bruge Bash-aliasser på Linux


Alias in bash kan betegnes som en kommando eller en genvej, der kører en anden kommando/et program. Alias er meget nyttigt, når vores kommando er meget lang og for ofte anvendte kommandoer. I løbet af denne artikel vil vi se, hvor kraftigt et alias er, og de forskellige måder at oprette et alias på og bruge det.

Tjek Bash Aliases i Linux

Alias er en shell-indbygget kommando, og du kan bekræfte det ved at køre:

$ type -a alias

alias is a shell builtin

Før vi hopper og opretter et alias, ser vi de involverede konfigurationsfiler. Et alias kan indstilles enten på “brugerniveau” eller “systemniveau”.

Påkald din shell, og skriv blot "alias" for at se listen over definerede alias.

$ alias

Aliaser på brugerniveau kan defineres enten i .bashrc-filen eller .bash_aliases-filen. .Bash_aliases-filen er at gruppere alle dine aliaser i en separat fil i stedet for at placere den i .bashrc-filen sammen med andre parametre. Oprindeligt vil .bash_aliases ikke være tilgængelige, og vi er nødt til at oprette det.

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

Åbn .bashrc-filen, og se efter det følgende afsnit. Dette afsnit af kode er ansvarlig for at kontrollere, om filen .bash_aliases er til stede under brugerens hjemmemappe og indlæse den, når du starter en ny terminalsession.

# 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

Du kan også oprette en brugerdefineret aliasfil under ethvert bibliotek og tilføje definition i enten .bashrc eller .profile for at indlæse den. Men jeg foretrækker ikke dette, og jeg vælger at holde fast ved at gruppere alle mine alias under .bash_aliases.

Du kan også tilføje aliasser under .bashrc-filen. Hold øje med alias sektionen under .bashrc filen, hvor den kommer med nogle foruddefinerede aliaser.

# 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$//'\'')"'

Oprettelse af alias i Linux

Du kan enten oprette et midlertidigt alias, der kun gemmes til din nuværende session og vil blive ødelagt, når din nuværende session slutter, eller permanent alias, som vil være vedvarende.

Syntaksen til oprettelse af et alias i Linux.

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

For eksempel i et ægte scenario.

$ alias Hello="echo welcome to Tecmint"

Åbn terminalen, og opret den ønskede aliaskommando. Hvis du åbner en anden session, vil det nyoprettede alias ikke være tilgængeligt.

$ alias Hello"echo welcome to Tecmint"
$ alias
$ Hello

For at gøre aliaset vedvarende skal du føje det til .bash_aliases-filen. Du kan bruge din yndlings teksteditor eller bruge kommandoen cat eller echo til at tilføje et alias.

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

Du skal genindlæse .bash_aliases-filen for at ændringerne skal være effektive i den aktuelle session.

$ source ~/.bash_aliases

Hvis jeg nu kører "nf", som er et alias for "neofetch", vil det udløse neofetch-programmet.

$ nf

Et alias kan være nyttigt, hvis du vil tilsidesætte standardadfærden for en kommando. Til demonstration tager jeg en oppetidskommando, der viser systemets oppetid, antallet af brugere, der er logget ind og gennemsnittet for systembelastning. Nu opretter jeg et alias, der tilsidesætter opetidskommandoens opførsel.

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

Fra dette eksempel kan du konkludere, at forrang falder til bash-aliasser, før du kontrollerer og påberåber den aktuelle kommando.

$ cat ~/.bash_aliases
$ source ~/.bash_aliases
$ uptime

Fjernelse af et alias i Linux

Fjern nu oppetidsposten fra .bash_aliases-filen og indlæs .bash_aliases-filen, som stadig udskriver oppetid med alias-definition. Dette skyldes, at aliasdefinitionen er indlæst i den aktuelle shell-session, og vi skal enten starte en ny session eller fjerne aliasdefinitionen ved at køre unalias-kommandoen som vist i nedenstående billede.

$ unalias uptime

Tilføjelse af systemomspændende aliasser

Indtil dette tidspunkt har vi set, hvordan man opretter et alias på brugerniveau. For at indstille et alias globalt kan du ændre “/etc/bash.bashrc” -filen og tilføje aliaser, som vil være effektive globalt. Du skal have det forhøjede privilegium til at ændre bash.bashrc-filen.

Alternativt kan du oprette et script under “/etc/profile.d/”. Når du logger ind på en shell, kører "/ etc/profile" ethvert script under profile.d, før du faktisk kører ~/.profile. Denne metode reducerer risikoen for at ødelægge enten/etc/profile eller /etc/bash.bashrc-filen.

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

Nedenfor er koden hentet fra/etc/profilen, der tager sig af at køre alle scripts, som vi lægger under /etc/profiles.d/. Det ser ud til alle filer med .sh udvidelse og kører kildekommandoen.

$ tail /etc/profile

Det er det for denne artikel. Vi har set hvad der er alias, konfigurationsfilerne involveret i aliaset og forskellige måder at oprette aliaset lokalt og globalt på.