A jak alias

Wielu użytkowników linuksa narzeka na straszliwą konieczność pracy w konsoli. Na to, że wszystko tu trzeba wpisywać itd. itp. i bez tego ani rusz, a polecenia konsolowe to katorga dla "normalnego" człowieka. I 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 korzystanie z konsoli dla określonych zastosowań jest albo jedyną możliwością, albo po prostu bywa wygodniejsze.

Niemniej jednak sam zauważam, że niektóre polecenia są zbyt długie, by je spamiętać. Ot, choćby:
# reflector --verbose --country 'Poland' -l 5 -p http --sort rate --save /etc/pacman.d/mirrorlist
Oszczędźmy naszą pamięć. Z pomocą przychodzi nam "alias", dzięki któremu w swoim środowisku możemy przyporządkować w zasadzie dowolne ciągi znaków pod łatwiejszą do zapamiętania nazwę, w dodatku łatwo zawsze dostępną. Jeśli nie zdarzy się kataklizm, sami nie skasujemy takiego aliasu, to raz zdefiniowane będzie funkcjonować wiecznie.
Zamiast zatem ww. ciągu możemy wstawić dowolną inną nazwę, np. mirror (to wyłącznie przykład). Wówczas po wpisaniu w konsoli wyrazu: mirror, system (a w zasadzie, to bash), sam podporządkuje przypisane mu polecenie i je wykona.
Jak to zrobić?

Zaczynamy od otwarcia w dowolnym edytorze tekstu plik ~/.bashrc (jeśli korzystamy z bash) 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 mirror='sudo reflector --verbose --country 'Poland' -l 5 -p http --sort rate --save /etc/pacman.d/mirrorlist'
które po wpisaniu w konsoli polecenia: mirror - podmieni nam listę serwerów źródlanych udostępnionych w systemie na taką, która jest ograniczona do pięciu najbardziej aktualnych polskich serwerów (akurat pięciu serwerów w Polsce nie ma) i posortuje je w kolejności od oferowanej najwyższej szybkości transferu.

Poprzedzają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.

Po zapisaniu pliku .bashrc musimy jeszcze poinformować bash o wprowadzeniu zmian, co zrobimy poprzez wydanie w konsoli polecenia:
source ~/.bashrc
W przeciwnym przypadku będzie ono dostępne dopiero od następnej sesji.

Jak nam się polecenie znudzi, bądź uznamy, że inne będzie dla nas łatwiejsze do zapamiętania, to po prostu zmienimy alias w ~/.bashrc.

Zwracam jednak 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, czyli dla przykładu dodać kolorowanie do wyników poleceń (bo to akurat bezpieczne - nie zmieni nam działania programu, a jedynie uczyni go czytelniejszym).

Tak czy inaczej - ostrożności nigdy za wiele.

Komentarze

Popularne posty z tego bloga

Brak możliwości aktualizacji lub instalacji pakietów - zablokowana baza

Radzimy sobie z: GPG: odbiór z serwera kluczy nie powiódł się: brak dirmngr

Przywracamy działanie drukarek w CUPS 2.3.0