Wyszukiwanie w witrynie

Różne sposoby tworzenia i używania aliasów Bash w systemie Linux


Alias w bashu można nazwać po prostu poleceniem lub skrótem, który uruchomi inne polecenie/program. Alias jest bardzo pomocny, gdy nasze polecenie jest bardzo długie i często używane. W tym artykule zobaczymy, jak potężny jest alias i różne sposoby jego konfigurowania i używania.

Sprawdź aliasy Bash w systemie Linux

Alias to wbudowane polecenie powłoki, które możesz potwierdzić, uruchamiając:

type -a alias

alias is a shell builtin

Przed skokiem i skonfigurowaniem aliasu zobaczymy powiązane pliki konfiguracyjne. Alias można ustawić na „poziomie użytkownika” lub „poziomie systemu”.

Wywołaj swoją powłokę i po prostu wpisz „alias”, aby zobaczyć listę zdefiniowanych aliasów.

alias

Aliasy na poziomie użytkownika można zdefiniować w pliku .bashrc lub .bash_aliases. Plik .bash_aliases służy do grupowania wszystkich aliasów w oddzielny plik, zamiast umieszczania ich w pliku .bashrc wraz z innymi parametrami. Początkowo plik .bash_aliases nie będzie dostępny i musimy go utworzyć.

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

Otwórz plik .bashrc i poszukaj następnej sekcji. Ta sekcja kodu odpowiada za sprawdzenie, czy plik .bash_aliases znajduje się w katalogu domowym użytkownika i załadowanie go za każdym razem, gdy inicjujesz nową sesję terminala.

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

Możesz także utworzyć niestandardowy plik aliasów w dowolnym katalogu i dodać definicję w .bashrc lub .profile, aby go załadować. Ale nie będę tego wolał i wolę trzymać się grupowania wszystkich moich aliasów w .bash_aliases.

Możesz także dodać aliasy w pliku .bashrc. Zwróć uwagę na sekcję alias w pliku .bashrc, która zawiera kilka predefiniowanych aliasów.

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

Tworzenie aliasów w systemie Linux

Możesz utworzyć tymczasowy alias, który będzie przechowywany tylko na czas bieżącej sesji i zostanie zniszczony po zakończeniu bieżącej sesji, lub alias stały, który będzie trwały.

Składnia tworzenia aliasu w systemie Linux.

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

Na przykład w prawdziwym scenariuszu.

alias Hello="echo welcome to Tecmint"

Otwórz terminal i utwórz dowolne polecenie alias. Jeśli otworzysz kolejną sesję, nowo utworzony alias nie będzie dostępny.

alias Hello"echo welcome to Tecmint"
alias
Hello

Aby zachować alias, dodaj go do pliku .bash_aliases. Możesz użyć swojego ulubionego edytora tekstu lub użyć polecenia cat lub polecenia echo, aby dodać alias.

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

Aby zmiany zaczęły obowiązywać w bieżącej sesji, musisz ponownie załadować plik .bash_aliases.

source ~/.bash_aliases

Teraz, jeśli uruchomię „nf ”, który jest aliasem dla „neofetch”, uruchomi się program neofetch.

nf

Alias może się przydać, jeśli chcesz zastąpić domyślne zachowanie dowolnego polecenia. Do demonstracji wezmę polecenie uptime, które wyświetli czas pracy systemu, liczbę zalogowanych użytkowników i średnie obciążenie systemu. Teraz utworzę alias, który zastąpi zachowanie polecenie uptime.

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

Z tego przykładu można wywnioskować, że przed sprawdzeniem i wywołaniem właściwego polecenia pierwszeństwo mają aliasy bash.

cat ~/.bash_aliases
source ~/.bash_aliases
uptime

Usuwanie aliasu w systemie Linux

Teraz usuń wpis czas działania z pliku .bash_aliases i załaduj ponownie plik .bash_aliases, który nadal będzie drukował czas działania z definicją aliasu. Dzieje się tak, ponieważ definicja aliasu jest ładowana do bieżącej sesji powłoki i musimy albo rozpocząć nową sesję, albo usunąć definicję aliasu, uruchamiając polecenie unalias, jak pokazano w poniżej obrazu.

unalias uptime

Dodawanie aliasów ogólnosystemowych

Do tego momentu widzieliśmy, jak skonfigurować alias na poziomie użytkownika. Aby ustawić alias globalnie, możesz zmodyfikować plik „/etc/bash.bashrc ” i dodać aliasy, które będą obowiązywać globalnie. Aby modyfikować plik bash.bashrc, musisz mieć podwyższone uprawnienia.

Alternatywnie utwórz skrypt w „/etc/profile.d/ ”. Kiedy zalogujesz się do powłoki, „/etc/profile ” uruchomi dowolny skrypt w profile.d przed faktycznym uruchomieniem ~/.profile. Ta metoda zmniejszy ryzyko uszkodzenia pliku /etc/profile lub /etc/bash.bashrc.

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

Poniżej znajduje się kod pobrany z pliku /etc/profile, który odpowiada za uruchamianie wszelkich skryptów umieszczonych w pliku /etc/profiles.d/. Wyszuka wszystkie pliki z rozszerzeniem .sh i uruchomi polecenie source.

tail /etc/profile

To wszystko w tym artykule. Widzieliśmy, czym jest alias, pliki konfiguracyjne związane z aliasem i różne sposoby konfigurowania aliasu lokalnie i globalnie.