Wielu użytkowników linuksa narzeka na straszliwą konieczność pracy w konsoli. Na to, że wszystko tu trzeba wpisywać itp. itd. i bez tego ani rusz, a polecenia konsolowe to katorga dla "normalnego" człowieka, bowiem kto by spamiętał to wszystko.
Pomijam prawdziwość twierdzenia o konieczności wpisywania wszystkiego w konsoli. Obecne środowiska graficzne i programy dla nich, oferują spore możliwości praktycznie kompletnego pominięcia używania poleceń konsolowych. Niemniej jednak z różnych przyczyn może okazać się, że albo w istocie nie ma "zamiennika" z wygodnym GUI, albo owe GUI wcale nie jest wygodniejsze od polecenia wpisanego w konsoli, albo... no mnóstwo rzeczy, by skończyć na jednym: wolę używać pacman od octopi (choćby).
Niemniej jednak sam zauważam, że niektóre polecenia są zbyt długie, by je spamiętać (przykład z innego wątku:
# reflector --verbose --country 'Poland' -l 5 -p http --sort rate --save /etc/pacman.d/mirrorlist
- zresztą po co?
W takich przypadkach z pomocą przychodzi nam "alias", dzięki któremu w swoim środowisku możemy przyporządkować określone ciągi pod łatwiejszą do zapamiętania nazwę, w dodatku łatwo zawsze dostępną. Raz zdefiniowane - jeśli tylko nie skasujemy sobie pliku, bądź zawartości katalogu /home/user/ będzie nam funkcjonować wiecznie.
Zamiast zatem ww. ciągu możemy wstawić dowolną inną nazwę, np. refresz (to wyłącznie przykład). Wówczas po wpisaniu w konsoli wyrazu: refresz, system (a w zasadzie, to bash), sam podporządkuje przypisane mu polecenie i je wykona.
Jak to zrobić?
Znów będzie konsolowo - kiedyś już pisałem dlaczego. Nie mam zamiaru zastanawiać się nad tym jaki edytor tekstu macie u siebie w systemie, ani czytać: mam komunikat, że nie znaleziono kate.
Zaczynamy od otwarcia w dowolnym edytorze tekstu (u mnie to będzie nano) plik ~/.bashrc
nano ~/.bashrc
i dopisujemy ciąg, który ma postać:
alias nazwa='polecenie'
Opierając się na przywołanym poleceniu reflectora, będzie to wyglądać następująco:
alias refresz='sudo reflector --verbose --country 'Poland' -l 5 -p http --sort rate --save /etc/pacman.d/mirrorlist'
które po wpisaniu w konsoli polecenia: refresz - wykona to, co opisane jest tutaj:
http://www.archlike.darmowefora.pl/index.php/topic,67.0.htmlPoprzedzające polecenie: reflector, sudo pojawia się tutaj, z uwagi na to, że winno ono zostać wykonane z uprawnieniami administratora. Jeśli jakieś polecenie tego nie wymaga, to oczywiście je pomijamy.
Np.:
alias kwininfo='qdbus org.kde.kwin /KWin supportInformation'
po wydaniu w konsoli polecenia kwininfo udzieli nam informacji o wsparciu dla KWin (oczywiście nazwa kwininfo jest przykładowa).
Po zapisaniu pliku .bashrc musimy jeszcze poinformować bash o wprowadzeniu zmian, co zrobimy poprzez wydanie w konsoli polecenia:
source ~/.bashrc
Jak nam się polecenie znudzi, bądź uznamy, że inne będzie dla nas łatwiejsze do zapamiętania, to po prostu edytujemy .bashrc, a potem wydajemy wspomniane wyżej polecenie source.
Zwracam jedynie uwagę na jedną rzecz. Aliasem można zmienić domyślne działanie polecenia, o czym system nas nie poinformuje. Dla przykładu, jeśli z jakiegoś powodu chcielibyśmy dać taki alias:
alias ls='sudo pacman -Syu'
to "stracimy" w systemie polecenie ls, a w jego miejsce pojawi się komenda, która zaktualizuje nam system. Z drugiej strony, w ten sposób możemy zmodyfikować domyślne działanie jakiegoś polecenia, o ile nam na tym zależy.
Tak czy inaczej - ostrożności nigdy za wiele.