Raspberry PI OS - aliasy

Spis treści

RPi OS Aliasy

Używając Malinki często sięgam do... trybu znakowego. Stary nawyk. Jeszcze z czasów Xenix!286. :D Czasami to dużo klepania. I odezwała się natura "człeka leniwego" ;)

Dość szybko sięgnąłem po... aliasy. Alias to jak synonim komendy. Można go używać "zamiast". Tworzony dla określonej komendy powłoki (tu: bash) w środowisku Linux'owym (tu: Raspbian). Często zawiera "w sobie" komendę (lub ich ciąg), czasami uzupełnionych parametrami.

Alias jest czymś w rodzaju kapsułki. Tworzy się go i używa dla: wygody, ułatwienia, czasami dla... bezpieczeństwa.

Funkcja pomocna również tym, ktorzy dopiero zaczynają swą przygodę z Rasbianem. To dla nich ten artykuł.

Trochę teorii

W przeszłości niektórzy traktowali je jako fanaberię czy objaw lenistwa. IMO to wygodne rozwiązanie służy przede wszystkim użytkownikom.

Alias jest tworzony poprzez wywołanie komendy:

~$alias <moja komenda>="<komenda systemowa>" # - można komendy uzupełniać parametrami
~$alias alias1="cos1" alias2="cos2" alias3="cos3"... # czyli można kilka za "jednym zamachem"

Aliasy ułatwiają życiePatrząc na zrzut ekranów można ocenić samemu przydatność aliasu. Treść niby ta sama, ale prezentacja wyniku działania komendy (po użyciu aliasu) po prostu jest czytelniejsza.

Aliasy udostępniane przez OS

Co ciekawe - nawet jeśli nie zdefiniujemy własnych - system (tu Raspbian OS 32b) "sam w sobie" też udostępnia aliasy.

To skutek następującego wpisu w pliku .bashrc (warto zapamiętać nazwę tego pliku), definiującego niektóre własności powłoki (tu: bash):

... # aktywuje użycie kolorów przez komendę ls oraz dodaje również kilka innych użytecznych aliasów
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'

alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
...

Wieloletnia praktyka użytkowników i rosnące możliwości używanego sprzętu pozwoliły na większą swobodę. 

By dowiedzieć się jakie aliasy zostały zdefiniowane (i nadal są aktywne) wystarczy w oknie terminala wydać polecenie:

~$ alias

Niby ok, ale czasami wywołując komendę chcemy wiedzieć: czy używamy aliasu czy komendy systemowej "w czystej postaci". Można to sprawdzić:

~ $ type ls
ls jest aliasem do ls --color=auto # ale IMO lepszym rozwiązaniem jest:

~ $ type -a ls

ls jest aliasem do ls --color=auto
ls jest /usr/bin/ls
ls jest /bin/ls
~ $

Czyli w rzeczywistości wywołując komendę np. ls możemy uzyskać dwa efekty: jeden w wyniku działania aliasu, drugi - efekt działania komendy wywołanej bez opcji.

Czy można to zrobić mimo obowiązującego aliasu. Oczywiście tak.

W celu wykonania komendy w trybie tak jak została zaimplementowana w systemie (bez uaktywnionych dodatkowych opcji) należy wywołać ją w następujący sposób: (tu na przykładzie komendy ls):

~$ \ls # komenda poprzedzona backslash'em, ewentualnie

~$ command ls