Linux: Aliasy

Linux: Aliasy

Poziom trudności
1/5

Podczas pracy z systemem Linux z wykorzystaniem terminala, często używamy złożonych komend. O ile jest to sytuacja sporadyczna, nie jest to uciążliwe. Jednak co w sytuacja bardzo skomplikowanych poleceń, które używamy kilka razy dziennie? Każdorazowe ręczne wpisywanie komendy do terminalu z czasem staje się męczące. Z kolei doraźne rozwiązania, takie jak przechowywanie w osobnym pliku takiego polecenia, a następnie jego kopiowanie, na dłuższą metę się nie sprawdza.

Z pomocą mogą nam przyjść aliasy. Zacznijmy może od tego, co to jest alias? Generalizująć, alias jest abstrakcją. Większość definicji określa alias jako alternatywną nazwę, służącą do skrócenia i uproszczenia nazewnictwa.

ISTNIEJĄCE ALIASY

Na początek może sprawdźmy jakie aliasy mamy już dostępne w naszym systemie. W tym celu wystarczy w linii komend wpisać polecenie alias. Jako odpowiedź otrzymamy listę dostępnych aliasów. Z reguły lista ta nie będzie pusta, gdyż praktycznie każdy system ma zdefiniowane podstawowe aliasy ułatwiające pracę.

qabrio@test:~$ alias
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$//'\'')"'
alias egrep='egrep --color=auto'
alias extls='ls -la'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

ALIASY TYMCZASOWE

W systemach linuksowych, mamy kilka możliwości na stworzenie sobie aliasu. Można to wykonać za pomocą polecenia alias lub poprzez edycję odpowiedniego pliku powłoki bash’owej. Zacznijmy może od pierwszej metody oraz od stworzenia aliasu do wyświetlania plików z rozszerzeniem .py„. Możemy to wykonać za pomocą poniższego polecenia:

qabrio@test:~$ alias pf='ls -l | grep *.py'

Od teraz, każdorazowe wpisanie tej komendy w terminalu będzie skutkowało wylistowaniem wszystkich plików z rozszerzeniem ‚.py‚, znajdujących się w obecnym katalogu:

qabrio@test:~$ pf
-rw-rw-r-- 1 qabrio qabrio 0 lip 21 23:30 pythonFile.py

Metoda ta jest szczególnie polecana do tworzenia aliasów tymczasowych, które potrzebujemy wykorzystywać w bieżącej sesji. Wynika to z faktu, że powłoka zapomni o aliasie już po restarcie terminalu. Dodatkowym ograniczeniem jest fakt, że alias będzie dostępny tylko i wyłącznie w oknie, w którym został zdefiniowany. W przypadku Terminatora, alias będzie dostępny jedynie w określonym suboknie. Jeśli więc spróbujemy wykorzystać alias w innym oknie terminalu, dostaniemy informację o braku takiego polecenia:

qabrio@test:~$ pf
pf: command not found

Jeśli zakończyliśmy korzystanie z aliasu, możemy usunąć jego powiązanie poprzez:

qabrio@test:~$ unalias pf

ALIASY PERMAMENTNE

Innym sposobem na tworzenie aliasów w jest edycja ukrytego pliku .bash_aliases. Plik znajduje się w katalogu domowym każdego użytkownika i jest plikiem ukrytym, czyli zaczynającym się od ‚.’ (kropki). Jeśli taki plik nie istnieje, należy go dodać ręcznie. Dodatkowe aliasy można dodawać poprzez manualne wprowadzenie odpowiedniej linii podczas edycji pliku lub z wykorzystaniem komendy:

qabrio@test:~$ echo alias pf='ls -l | grep *.py' >> ~/.bash_aliases

Jeśli od razu spróbujemy wykorzystać dodany alias, dostaniemy odpowiedź jak poniżej:

qabrio@test:~$ pf
pf: command not found

Będzie to spowodowane faktem, że wyedytowany przez nas plik, jest czytany przez powłokę podczas uruchamiana danego okna terminalu. Z tego powodu należy ponownie uruchomić terminal, aby dodany alias zaczął funkcjonować poprawnie. Aby usunąć alias, należy wymazać jego wpis w pliku .bash_aliases. Alias zostanie usunięty dopiero po restarcie terminalu.

Ciekawą możliwością aliasów, o które warto wspomnieć, jest możliwość dodawania aliasu do kilku komend. Aby to wykonać, należy kolejne komendy oddzielić średnikiem. Poniższy alias będzie przechodził do katalogu domowego oraz listował jego zawartość:

alias home_files='cd ~; ls -l'

ALIASY A BASHRC

Część osób preferuje wpisywanie aliasów bezpośrednio do pliku .bashrc, ze względu, że znajdują się tam już predefiniowane aliasy. Jednak mając na uwadze fakt, że plik .bashrc jest plikiem konfiguracyjnym powłoki, zdecydowanie polecam korzystać z pliku .bash_aliases do tworzenia swoich aliasów. Jedynym wyjątkiem, kiedy jesteśmy zmuszeni edytować blik .bashrc, jest sytuacja, gdy nie działają aliasy z pliku .bash_aliases. W tym przypadku musimy dodać pliku konfiguracyjnego poniższe linie, informujące powłokę, gdzie znajduje się plik z aliasami:

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

Zaletą korzystania z aliasów permamentnych jest fakt, że można je wykorzystywać we wszystkich oknach terminali, oraz to, że nie znikają po restarcie. Jednak w przypadku krótkotrwałego używania, bardziej przydatne może okazać się korzystanie z tymczasowych aliasów. Nic jednak nie stoi na przeszkodzie w korzystaniu z hybrydy obu możliwości, czyli dodanie aliasu do pliku, oraz wykorzystania słowa kluczowego alias. Dzięki takiemu zabiegowi uzyskamy możliwość używania aliasów bezpośrednio po zdefiniowaniu, a także po restarcie terminalu będzie on w dalszym ciągu dostępny. Ponadto należy pamiętać, aby złożone komendy w poleceniu alias zawierać w cudzysłowie lub apostrofach oraz aby nie wstawiać spacji przed lub(i) po znaku równości znaku równości.

Dodaj komentarz