Linux
Bashowe Aliasy
4 years, 6 months ago Dodano w: Linux 4

Wielu z was pewnie dziwi jak można wpisywać tyle poleceń w konsoli i jeszcze mówić że konsola jest lepsza.
Ale nawet średnio zaawansowany użytkownik wie że bash (zresztą inne konsole też mają podobną funkcjonalność) ma wiele ułatwień dzięki czemu konsola okazuje się lepsza od „szaty” graficznej.
Jednym z takich ułatwień jest polecenie alias tworzące skrót do polecenia(nawet z parametrami).

Alias to zdefiniowane przez użytkownika polecenie, które odwołuje się do istniejącej komendy systemowej z odpowiednimi parametrami.

Alias tworzymy wpisując w powłoce słowo alias , wygląd „skróconej wersji zlecenia” , znak równości= , zlecenie oryginalne (np. z parametrami) w apostrofach, czyli:

alias ll='ls -la' wprowadzający skróconą wersję (ll) listowania katalogu (ls -la) . Taki alias ma krótką trwałość życia – do czasu wylogowania się.

Samo polecenie alias (bez argumentów) wyświetla aktualną listę aliasów.

Polecenie unalias nazwaaliasu usuwa dany alias, natomiast unalias -a usuwa wszystkie aliasy.

Aby trwale skompletować i uruchamiać aliasy podczas logowania – należy utworzyć zwykły plik tekstowy pod nazwą /home/user/.bashrc i wpisać wiersze z aliasami.Jeszcze raz… wszystko po kolei

Na przykład jeśli chcemy chcemy utworzyć skrót do polecenia „sudo apt-get install” wpiszemy:

alias instaluj="sudo apt-get install"

co nam to dało?

Do końca tej sesji możemy używać polecenia instaluj zamiast „sudo apt-get install
I gdybyśmy chcieli zainstalować jakiś pakiet możemy użyć polecenia:

instaluj openoffice

Komenda ta przełączy nas w tryb administratora i zainstaluje nam pakiet biurowy (oczywiście to tylko przykład) OpenOffice.org

Trochę krócej niż wpisywać „sudo apt-get install openoffice” prawda?

Tylko jest jeden mały problem… co zrobić, żeby cały czas móc używać tego polecenia? przecież po restarcie systemu już go nie będzie.

Żeby na stałe dodać dany skrót musimy dodać do pliku .bashrc taką oto linijkę:

alias instaluj="sudo apt-get install"

Wersja ekspresowa dodawania aliasów:

echo 'alias instaluj="sudo apt-get install"' >> ~/.bashrc

Tylko trzeba pamiętać, że jeżeli chcemy aby na stałe dodane aliasy nam działały musimy otworzyć nowe okno terminala albo po prostu przeładować linuxa żeby na stałe wprowadzić zmiany.

Żeby zobaczyć wszystkie aliasy jakie są dodane w systemie używamy komendy

alias

Aliasy mogą być naprawdę bardzo złożone. Oto przykład aliasu którego bardzo często używałem podczas mojej kilkuletniej przygody z Gentoo Linux

alias kernel='make && make modules_install && cp /boot/kernel /boot/kernel.bak && cp /usr/src/linux/.config /usr/src/linux/.config.bak && cp /usr/src/linux/arch/i386/boot/bzImage /boot/kernel'

Komenda ta kompiluje nam jądro, instaluje moduły, robi kopie zapasową obecnego kernela i podmienia nam go na nowo skompilowany.

i to wszystko po wpisaniu krótkiego „kernel”

Kilka innych przykładów:

alias psx='ps aux' >> pokazuje nam aktualnie działające procesy

alias search='apt-cache search'>> wyszukuje nam pakiety np: „search ssh” wyświetli nam wszystkie pakiety zawierające słowo ssh

alias grep='grep --colour=auto' >> kolorowy „grep”

alias mc='mc --colors directory=,green,default:executable=,default:link=,default:device=,default:special=,default:normal=

,default:selected=red,default:marked=,default:markselect=,blue:core=,default' >> daje fajny wygląd Midnight Commandera

alias update='sudo apt-get update' >> aktualizuje nam listę pakietów

albo chociażby

alias ..='cd .. && ls' >> przechodzi do nadrzędnego katalogu i pokazuje jego zawartość

Midnight Commander po aliasowym tuningu:

MC po tuningu

[poll=4]

4 Responses

  1. jARRodx pisze:

    Oj, bash i podobne to nie konsola tylko powłoka. Konsola to coś innego.

  2. jARRodx pisze:

    Co do .bashrc, to ja bym polecał raczej definiowane aliasów w .profile.
    Różnica jest taka, że .profile jest odpalany tylko przez powłokę login natomiast .bashrc w każdej podpowłoce odpalanej z powłoki login, więc definiujemy aliasy zawarte w .bashrc za każdym razem na nowo bez potrzeby, bo są one domyślnie eksportowane.

  3. jARRodx pisze:

    Żeby aliasy dopisane do .profile czy .bashrc zaczęły działać, nie trzeba „przeładowywać linuxa” (swoją drogą sprawdź w słowniku – w języku polskim zalecana forma to „linuksa”) czy otwierać nowego okna terminala; wystarczy „przesourceować” plik, czyli wykonać polecenie . ~/.profile albo . ~/.bashrc (tak, kropka i spacja przez ~).

  4. [...] też lekturę mojego wpisu o aliasach w bashu… w łatwy sposób możemy sobie uprościć życie z takimi komendami tworząc przykładowy [...]

Dodaj komentarz