Ulike måter å lage og bruke Bash-aliaser på i Linux


Alias i bash kan ganske enkelt betegnes som en kommando eller en snarvei som vil kjøre en annen kommando/program. Alias er veldig nyttig når kommandoen vår er veldig lang og for ofte brukte kommandoer. I løpet av denne artikkelen skal vi se hvor kraftig et alias er og de forskjellige måtene å sette opp et alias og bruke det på.

Sjekk Bash-aliaser i Linux

Alias er en innebygd skallkommando, og du kan bekrefte den ved å kjøre:

type -a alias

alias is a shell builtin

Før vi hopper og setter opp et alias vil vi se konfigurasjonsfilene som er involvert. Et alias kan settes enten på «brukernivå » eller «systemnivå ».

Påkall skallet ditt og skriv ganske enkelt «alias» for å se listen over definerte alias.

alias

Aliaser på brukernivå kan defineres enten i .bashrc-filen eller .bash_aliases-filen. .bash_aliases-filen er å gruppere alle aliasene dine i en separat fil i stedet for å legge den i .bashrc-filen sammen med andre parametere. Til å begynne med vil .bash_aliases ikke være tilgjengelig, og vi må opprette det.

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

Åpne .bashrc-filen og se etter den følgende delen. Denne delen av koden er ansvarlig for å sjekke om filen .bash_aliases er til stede under brukerens hjemmekatalog og last den hver gang du starter en ny terminaløkt.

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å opprette en egendefinert aliasfil under en hvilken som helst katalog og legge til definisjon i enten .bashrc eller .profile for å laste den. Men jeg vil ikke foretrekke dette, og jeg velger å holde meg til å gruppere alle aliasene mine under .bash_aliases.

Du kan også legge til aliaser under .bashrc-filen. Se etter alias-delen under .bashrc-filen der den kommer med noen forhåndsdefinerte 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$//'\'')"'

Opprette alias i Linux

Du kan enten opprette et midlertidig alias som bare lagres for gjeldende økt og vil bli ødelagt når den nåværende økten avsluttes, eller permanent alias som vil være vedvarende.

Syntaksen for å lage et alias i Linux.

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

For eksempel i et virkelig scenario.

alias Hello="echo welcome to Tecmint"

Åpne terminalen og lag hvilken som helst alias-kommando du ønsker. Hvis du åpner en annen økt, vil ikke det nyopprettede aliaset være tilgjengelig.

alias Hello"echo welcome to Tecmint"
alias
Hello

For å gjøre aliaset vedvarende, legg det til i .bash_aliases-filen. Du kan bruke din favoritt tekstredigerer eller bruke cat-kommandoen eller ekko-kommandoen for å legge til et alias.

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

Du må laste inn .bash_aliases-filen på nytt for at endringene skal tre i kraft i gjeldende økt.

source ~/.bash_aliases

Hvis jeg kjører “nf ” som er et alias for “neofetch” vil det utløse neofetch-programmet.

nf

Et alias kan være nyttig hvis du ønsker å overstyre standardoppførselen til en kommando. For demonstrasjon vil jeg ta en oppetidskommando, som viser systemets oppetid, antall brukere pålogget og gjennomsnittlig systembelastning. Nå skal jeg lage et alias som vil overstyre oppførselen til oppetidskommandoen.

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

Fra dette eksemplet kan du konkludere at forrangen faller til bash-aliaser før du sjekker og påkaller den faktiske kommandoen.

cat ~/.bash_aliases
source ~/.bash_aliases
uptime

Fjerne et alias i Linux

Fjern nå oppføringen oppetid fra .bash_aliases-filen og last inn .bash_aliases-filen på nytt, som fortsatt vil skrive ut oppetiden med alias-definisjon. Dette er fordi alias-definisjonen er lastet inn i gjeldende shell-sesjon, og vi må enten starte en ny økt eller deaktivere alias-definisjonen ved å kjøre unalias-kommandoen som vist i bildet under.

unalias uptime

Legge til systemomfattende aliaser

Til dette tidspunktet har vi sett hvordan du setter opp et alias på brukernivå. For å sette et alias globalt kan du endre “/etc/bash.bashrc ”-filen og legge til aliaser som vil være effektive globalt. Du må ha det forhøyede privilegiet for å endre bash.bashrc-filen.

Alternativt kan du opprette et skript under “/etc/profile.d/ ”. Når du logger på et skall vil “/etc/profile ” kjøre et hvilket som helst skript under profile.d før ~/.profile faktisk kjøres. Denne metoden vil redusere risikoen for å rote til enten /etc/profile eller /etc/bash.bashrc fil.

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

Nedenfor er koden hentet fra /etc/profile som tar seg av å kjøre alle skript som vi legger under /etc/profiles.d/. Den vil se etter filer med filtypen .sh og kjøre kildekommandoen.

tail /etc/profile

Det er det for denne artikkelen. Vi har sett hva som er alias, konfigurasjonsfilene som er involvert med alias, og forskjellige måter å sette opp alias lokalt og globalt på.