Vyhledávání na webu

Různé způsoby vytváření a používání aliasů Bash v Linuxu


Alias v bash lze nazvat jednoduše jako příkaz nebo zkratku, která spustí jiný příkaz/program. Alias je velmi užitečný, když je náš příkaz velmi dlouhý a pro často používané příkazy. V průběhu tohoto článku se podíváme na to, jak mocný je alias, a na různé způsoby, jak alias nastavit a používat.

Zkontrolujte aliasy Bash v Linuxu

Alias je vestavěný příkaz shellu a můžete jej potvrdit spuštěním:

type -a alias

alias is a shell builtin

Před skokem a nastavením aliasu uvidíme příslušné konfigurační soubory. alias lze nastavit na „uživatelské úrovni “ nebo na „systémové úrovni“.

Vyvolejte svůj shell a jednoduše napište „alias“, abyste viděli seznam definovaných aliasů.

alias

Aliasy Uživatelské úrovně lze definovat buď v souboru .bashrc nebo .bash_aliases. Soubor .bash_aliases slouží k seskupení všech aliasů do samostatného souboru namísto jejich vkládání do souboru .bashrc spolu s dalšími parametry. Zpočátku nebude .bash_aliases dostupný a musíme ho vytvořit.

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

Otevřete soubor .bashrc a podívejte se na následující sekci. Tato část kódu je zodpovědná za kontrolu, zda je soubor .bash_aliases přítomen v domovském adresáři uživatele, a načte jej vždy, když zahájíte novou relaci terminálu.

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

Můžete také vytvořit vlastní soubor aliasu v libovolném adresáři a přidat definici buď do .bashrc nebo .profile, aby se načetl. Ale nebudu to preferovat a rozhodl jsem se zůstat u seskupení všech mých aliasů pod .bash_aliases.

Můžete také přidat aliasy pod soubor .bashrc. Podívejte se na sekci alias pod souborem .bashrc, která obsahuje některé předdefinované aliasy.

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

Vytvoření aliasu v Linuxu

Můžete vytvořit dočasný alias, který bude uložen pouze pro vaši aktuální relaci a bude zničen, jakmile aktuální relace skončí, nebo trvalý alias, který bude trvalý.

Syntaxe pro vytvoření aliasu v Linuxu.

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

Například v reálném scénáři.

alias Hello="echo welcome to Tecmint"

Otevřete terminál a vytvořte libovolný alias příkaz, který si přejete. Pokud otevřete další relaci, nově vytvořený alias nebude dostupný.

alias Hello"echo welcome to Tecmint"
alias
Hello

Chcete-li, aby byl alias trvalý, přidejte jej do souboru .bash_aliases. K přidání aliasu můžete použít svůj oblíbený textový editor nebo použít příkaz cat nebo echo.

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

Aby se změny projevily v aktuální relaci, musíte znovu načíst soubor .bash_aliases.

source ~/.bash_aliases

Nyní, když spustím “nf “, což je alias pro „neofetch“, spustí program neofetch.

nf

Alias se může hodit, pokud chcete přepsat výchozí chování jakéhokoli příkazu. Pro demonstraci použiji příkaz uptime, který zobrazí dobu provozu systému, počet přihlášených uživatelů a průměrné zatížení systému. Nyní vytvořím alias, který přepíše chování příkazu uptime.

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

Z tohoto příkladu můžete usoudit, že priorita spadá do bash aliasů před kontrolou a vyvoláním skutečného příkazu.

cat ~/.bash_aliases
source ~/.bash_aliases
uptime

Odstranění aliasu v Linuxu

Nyní odeberte položku uptime ze souboru .bash_aliases a znovu načtěte soubor .bash_aliases, který bude stále tisknout uptime s definicí aliasu. Je to proto, že definice aliasu je načtena do aktuální relace shellu a my musíme buď zahájit novou relaci, nebo zrušit nastavení definice aliasu spuštěním příkazu unalias, jak je uvedeno v obrázek níže.

unalias uptime

Přidání systémových aliasů

Do této chvíle jsme viděli, jak nastavit alias na uživatelské úrovni. Chcete-li alias nastavit globálně, můžete upravit soubor “/etc/bash.bashrc “ a přidat aliasy, které budou účinné globálně. K úpravě souboru bash.bashrc musíte mít zvýšené oprávnění.

Případně vytvořte skript pod “/etc/profile.d/ “. Když se přihlásíte do shellu, „/etc/profile “ spustí jakýkoli skript pod profile.d před skutečným spuštěním ~/.profile. Tato metoda sníží riziko zpackání souboru /etc/profile nebo /etc/bash.bashrc.

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

Níže je kód převzatý z /etc/profile, který se stará o spouštění všech skriptů, které jsme umístili do /etc/profiles.d/. Vyhledá všechny soubory s příponou .sh a spustí příkaz source.

tail /etc/profile

To je pro tento článek vše. Viděli jsme, co je alias, konfigurační soubory spojené s aliasem a různé způsoby, jak nastavit alias lokálně i globálně.