Alias, czyli pójście "na skróty"...

Do stworzenia aliasu służy komenda alias o następującej składni:

user@XYZ:~$ alias skrot=cos
user@XYZ:~$ alias skrot=cos skrot1=cos1 ...

spowoduje to, że od tej chwili fraza skrot bedzie zastępowała w linii komend frazę (komendę) cos.  Drugi zapis pokazuje jak można "hurtowo" tworzyć aliasy.

Alias jest aktywny do końca sesji, w której został stworzony. Np. jeśli został stworzony w sesji terminala w systemie pracującym w trybie graficznym to zostanie "zapomniany" po wyjściu z sesji terminalowej.

By aliasy były aktywne dla każdej sesji użytkownika winny zostać wpisane do pliku o nazwie: .bash_aliases, który winien zostać umieszczony w jego katalogu domowym. Podczas logowania się czy uruchamiania nowej sesji odpowiedni wpis w pliku .bashrc sprawdza istnienie pliku .bash_aliases i jeśli jest wczytuje poszczególne wpisy.

.bash_aliases to zwykły plik tekstowy, w którym w kolejnych liniach znajdują się odpowiednie przypisania aliasów. Ja wykorzystuję plik o następującej treści:

alias ,0="cd ~"
alias ,1="cd .."
alias ,2="cd ../.."
alias ,3="cd ../../.."
alias ,-="cd -"
alias ,a="alias"
alias ,c="clear"
alias ,e="exit"
alias ,ce="clear; exit"
alias ,s="sudo"
alias ,ss="sudo su"
alias ,sapt="sudo apt-get update; sudo apt-get -y upgrade; sudo apt-get -y dist-upgrade"
alias ,sapc="sudo apt-get autoclean"
alias ,sapr="sudo apt-get autoremove"
alias ,sg="sudo gedit"
alias ,sh0="sudo /etc/init.d/apache2 stop"
alias ,sh1="sudo /etc/init.d/apache2 start"
alias ,sh2="sudo /etc/init.d/apache2 reload"
alias ,sk="sudo poweroff"
alias ,smc="sudo mc"
alias ,sn="sudo nano"
alias ,sps="sudo ps -aux"
alias ,sr="sudo reboot"
alias ,sv="sudo vi"
alias ,t="top"

Jak widać przyjąłem, że wszystkie moje aliasy zaczynają się od przecinka. Zapobiega to mimowolnemu nadpisaniu przeze mnie aliasem np. jakiejś komendy powłoki.

Do wyrażeń zastrzeżonych (nie wolno ich wykorzystywać jako nazwy aliasów) należą: !, case, do, done, elif, else, esac, fi, for, function, if, in, select, then, until, while, {, }, time, [, ].

Próby użycia niektórych znaków takich jak: *, ?, +, -, $, itp mogą dać nieoczekiwane rezultaty. Bo o ile przy próbie stworzenia aliasu "$" otrzymamy komunikat o błednej nazwie, to niestety możliwe jest utworzenie poniższych aliasów:

user@XYZ:~$ alias ?="<coś tam>"
user@XYZ:~$ alias *="<coś tam>"
user@XYZ:~$ alias a="" // puste przypisanie

Najmniej niebezpieczne jest ostatnie przypisanie. Po prostu alias nie robi nic (oprócz wydłużania listy aliasów). Natomiast przypisanie aliasu do "*" lib "?" powodując kłopot, o czym można się przekonać próbując je np. wykasować. Wpisz prostą komendę:

user@XYZ:~$ unalias ? *

Wynik będzie co najmniej zaskakujący. By osiągnąć to co chcieliśmy musimy wywołać komendę w postaci:

user@XYZ:~$ unalias \? \*

 

Informujemy, iż w celu zebrania informacji o popularności portalu oraz identyfikacji IP odwiedzających korzystamy z informacji zapisanych za pomocą… plików cookies na urzą…dzeniach koń„cowych użytkowników. Pliki cookies użytkownik może kontrolować‡ za pomocą… ustawień„ swojej przeglą…darki internetowej. Dalsze korzystanie z naszego serwisu internetowego, bez zmiany ustawień„ przeglą…darki internetowej oznacza, iż użytkownik akceptuje stosowanie plików cookies. W celu uzyskania więcej informacji zapoznaj się z Polityką prywatności. Akceptuję ciasteczka (cookies) tej strony. By dowiedzieć się więcej o ciasteczkach (cookies) oraz jak je usunąć zajrzyj na stronę o polityce prywatności.

  Akceptuję ciasteczka z tej strony.
EU Cookie Directive Module Information