Mismunandi leiðir til að búa til og nota Bash samnöfn í Linux


Hægt er að kalla samnefni í bash einfaldlega sem skipun eða flýtileið sem mun keyra aðra skipun/forrit. Samnefni er mjög gagnlegt þegar skipun okkar er mjög löng og fyrir oft notaðar skipanir. Meðan á þessari grein stendur ætlum við að sjá hversu öflugt samnefni er og mismunandi leiðir til að setja upp samnefni og nota það.

Athugaðu Bash nöfn í Linux

Alias er innbyggð skel skipun og þú getur staðfest það með því að keyra:

$ type -a alias

alias is a shell builtin

Áður en við stökkum og setjum upp samnefni munum við sjá stillingarskrárnar sem taka þátt. Hægt er að stilla samnefni annað hvort á \notendastigi eða \kerfisstigi.

Ákallaðu skelina þína og skrifaðu einfaldlega „alias“ til að sjá listann yfir skilgreind samnefni.

$ alias

Hægt er að skilgreina samheiti á notendastigi annað hvort í .bashrc skránni eða .bash_aliases skránni. .bash_aliases skráin er að flokka öll samnefnin þín í sérstaka skrá í stað þess að setja hana í .bashrc skrána ásamt öðrum breytum. Upphaflega verður .bash_aliases ekki tiltækt og við verðum að búa það til.

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

Opnaðu .bashrc skrána og horfðu á eftirfarandi hluta. Þessi hluti kóða er ábyrgur fyrir því að athuga hvort skráin .bash_aliases sé til staðar undir heimamöppu notanda og hlaðið henni í hvert skipti sem þú byrjar nýja flugstöðvalotu.

# 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

Þú getur líka búið til sérsniðna samheitaskrá undir hvaða möppu sem er og bætt við skilgreiningu í annað hvort .bashrc eða .profile til að hlaða henni. En ég mun ekki kjósa þetta og ég kýs að halda mig við að flokka öll samnefnin mín undir .bash_aliases.

Þú getur líka bætt við samnöfnum undir .bashrc skránni. Horfðu út fyrir alias hlutann undir .bashrc skránni þar sem það kemur með nokkrum fyrirfram skilgreindum alias.

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

Að búa til samnefni í Linux

Þú getur annað hvort búið til tímabundið samnefni sem verður aðeins geymt fyrir núverandi lotu og verður eytt þegar núverandi lotu lýkur eða varanlegt samnefni sem verður viðvarandi.

Setningafræði til að búa til samnefni í Linux.

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

Til dæmis í alvöru atburðarás.

$ alias Hello="echo welcome to Tecmint"

Opnaðu flugstöðina og búðu til hvaða samheiti sem þú vilt. Ef þú opnar aðra lotu þá verður nýstofnað samnefni ekki tiltækt.

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

Til að gera aliasið viðvarandi skaltu bæta því við .bash_aliases skrána. Þú getur notað uppáhalds textaritilinn þinn eða notað echo skipunina til að bæta við samnefni.

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

Þú verður að endurhlaða .bash_aliases skrána til að breytingarnar taki gildi í núverandi lotu.

$ source ~/.bash_aliases

Nú ef ég keyri \nf sem er samnefni fyrir \neofetch mun það kveikja á neofetch forritinu.

$ nf

Samnefni getur komið sér vel ef þú vilt hnekkja sjálfgefna hegðun hvaða skipunar sem er. Til sýnis mun ég taka spenntursskipun, sem sýnir spennutíma kerfisins, fjölda notenda sem eru innskráðir og meðaltal álags kerfisins. Nú mun ég búa til samnefni sem mun hnekkja hegðun spenntursskipunarinnar.

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

Út frá þessu dæmi geturðu dregið þá ályktun að forgangur falli til bash samheita áður en þú athugar og kallar fram raunverulegu skipunina.

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

Að fjarlægja samnefni í Linux

Fjarlægðu nú spennutímafærsluna úr .bash_aliases skránni og endurhlaðið .bash_aliases skrána sem mun samt prenta spenntur með alias skilgreiningu. Þetta er vegna þess að aliasskilgreiningin er hlaðin inn í núverandi skellotu og við verðum annaðhvort að hefja nýja lotu eða afstilla aliasskilgreininguna með því að keyra unalias skipunina eins og sýnt er á myndinni hér að neðan.

$ unalias uptime

Bætir við kerfisvíðum samnöfnum

Fram að þessu höfum við séð hvernig á að setja upp samnefni á notendastigi. Til að setja samnefni á heimsvísu geturðu breytt \/etc/bash.bashrc skránni og bætt við samnöfnum sem munu virka á heimsvísu. Þú þarft að hafa aukin réttindi til að breyta bash.bashrc skránni.

Að öðrum kosti, búðu til skriftu undir \/etc/profile.d/. Þegar þú skráir þig inn á skel mun \/etc/profile“ keyra hvaða skriftu sem er undir profile.d áður en ~/.profile er keyrt í raun. Þessi aðferð mun draga úr hættu á að klúðra annaðhvort /etc/profile eða /etc/bash.bashrc skránni.

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

Hér að neðan er kóðinn sem er tekinn úr /etc/profile sem sér um að keyra öll forskriftir sem við setjum undir /etc/profiles.d/. Það mun leita að öllum skrám með .sh endingunni og keyra frumskipunina.

$ tail /etc/profile

Það er það fyrir þessa grein. Við höfum séð hvað er samnefni, stillingarskrárnar sem tengjast samnefninu og mismunandi leiðir til að setja upp samnefnið á staðnum og á heimsvísu.