Različiti načini stvaranja i korištenja Bash pseudonima u Linuxu


Alias u bashu može se nazvati jednostavno naredbom ili prečicom koja će pokrenuti drugu naredbu/program. Alias je vrlo koristan kada je naša naredba vrlo duga i za često korištene naredbe. Tijekom ovog članka vidjet ćemo koliko je alias moćan i različite načine postavljanja aliasa i njegove upotrebe.

Provjerite bash pseudonime u Linuxu

Alias je naredba ugrađena u ljusku i to možete potvrditi pokretanjem:

$ type -a alias

alias is a shell builtin

Prije skoka i postavljanja aliasa vidjet ćemo uključene konfiguracijske datoteke. Pseudonim se može postaviti na "razini korisnika" ili "razini sustava".

Pozovite svoju ljusku i jednostavno upišite "alias" da biste vidjeli popis definiranih aliasa.

$ alias

Aliasi na razini korisnika mogu se definirati ili u datoteci .bashrc ili u datoteci .bash_aliases. Datoteka .bash_aliases grupira sve vaše pseudonime u zasebnu datoteku, umjesto da ih stavlja u datoteku .bashrc, zajedno s ostalim parametrima. U početku .bash_aliases neće biti dostupni i mi ga moramo stvoriti.

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

Otvorite datoteku .bashrc i potražite sljedeći odjeljak. Ovaj je odjeljak koda odgovoran za provjeru je li datoteka .bash_aliases prisutna u korisničkom početnom direktoriju i učitava je kad god započnete novu terminalnu sesiju.

# 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

Također možete stvoriti prilagođenu zamjensku datoteku u bilo kojem direktoriju i dodati definiciju u .bashrc ili .profile da biste je učitali. Ali ovo mi neće biti draže i odlučim se držati grupiranja svih svojih zamjenskih imena pod .bash_aliases.

Također možete dodati pseudonime u datoteci .bashrc. Pazite na odjeljak alias u datoteci .bashrc, gdje dolazi s nekim unaprijed definiranim aliasima.

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

Stvaranje aliasa u Linuxu

Možete stvoriti privremeni alias koji će biti pohranjen samo za vašu trenutnu sesiju i uništit će se nakon završetka trenutne sesije ili trajni alias koji će biti trajan.

Sintaksa za stvaranje zamjenskog imena u Linuxu.

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

Na primjer, u stvarnom scenariju.

$ alias Hello="echo welcome to Tecmint"

Otvorite terminal i stvorite bilo koju zamjensku naredbu koju želite. Ako otvorite drugu sesiju, novostvoreni pseudonim neće biti dostupan.

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

Da bi pseudonim bio postojan, dodajte ga u datoteku .bash_aliases. Možete koristiti svoj omiljeni uređivač teksta ili upotrijebiti naredbu echo da biste dodali alias.

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

Morate ponovo učitati datoteku .bash_aliases da bi promjene bile na snazi u trenutnoj sesiji.

$ source ~/.bash_aliases

Sada ako pokrenem "nf", što je zamjensko ime za "neofetch", pokrenut će program neofetch.

$ nf

Zamjenski naziv može vam dobro doći ako želite poništiti zadano ponašanje bilo koje naredbe. Za demonstraciju ću uzeti naredbu za neprekidno radno vrijeme koja će prikazati vrijeme rada sustava, broj prijavljenih korisnika i prosjek opterećenja sustava. Sada ću stvoriti pseudonim koji će nadjačati ponašanje naredbe za neprekidni rad.

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

Iz ovog primjera možete zaključiti da prvenstvo pada na bash pseudonime prije provjere i pozivanja stvarne naredbe.

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

Uklanjanje aliasa u Linuxu

Sada uklonite unos neprekidnog rada iz datoteke .bash_aliases i ponovo učitajte datoteku .bash_aliases koja će i dalje ispisivati vrijeme neprekidnog rada s definicijom aliasa. To je zato što se definicija aliasa učitava u trenutnu sesiju ljuske i moramo pokrenuti novu sesiju ili poništiti definiciju aliasa pokretanjem naredbe unalias kako je prikazano na donjoj slici.

$ unalias uptime

Dodavanje pseudonima širokog sustava

Do ove točke vidjeli smo kako postaviti alias na korisničkoj razini. Da biste globalno postavili alias, možete izmijeniti datoteku “/etc/bash.bashrc” i dodati aliase koji će biti globalno učinkoviti. Morate imati povišenu privilegiju za izmjenu datoteke bash.bashrc.

Alternativno, stvorite skriptu pod “/etc/profile.d/”. Kada se prijavite u ljusku, “/ etc/profile” će pokrenuti bilo koju skriptu pod profile.d prije nego što stvarno pokrene ~/.profile. Ova metoda smanjit će rizik od neurednosti datoteke/etc/profile ili /etc/bash.bashrc.

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

Ispod je kôd preuzet iz/etc/profila koji se brine za pokretanje bilo kojih skripti koje smo stavili pod /etc/profiles.d/. Potražit će sve datoteke s nastavkom .sh i pokrenuti izvornu naredbu.

$ tail /etc/profile

To je to za ovaj članak. Vidjeli smo što je alias, konfiguracijske datoteke povezane s aliasom i različite načine postavljanja aliasa lokalno i globalno.