Aliasy - czyli jak ułatwić sobie pracę w konsoli

Podczas pracy w terminalu często powtarzamy określone operacje - wpisujemy dane komendy czasami z dość rozbudowanymi parametrami. O ile już samo zsh znacznie przyśpiesza pracę dzięki kapitalnemu systemowi uzupełniania - umożliwiając przeszukiwanie historii tylko dla określonego polecenia, to pracę możemy przyśpieszyć jeszcze bardziej, dzięki aliasom. (oczywiście działają również w bashu ).

Tryb ad hoc

Dla aktualnej sesji alias ustawiamy następująco:

1
2
3
~/ alias hello="echo 'Hello World'"
~/ hello
Hello World

Dostępne aliasy wypisujemy wydając polecenie alias bez parametrów.

Aliasy na stałe

By aliasy działały po każdym uruchomieniu powłoki umieszczamy je w pliku konfiguracyjnym ~/.zshrc bądź ~/.bashrc Poniżej kilka przydatnych aliasów, które używam.

Ogólne

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
alias ls='ls --color=auto'
alias ll='ls -lh --color=auto' # Listuje jeden plik w linii podając rozmiary w sposób przyjazny dla oka ;)
alias t="sensors |grep Core" # Temperatura rdzeni
alias    -g    L='|most '
alias    -g    G='|grep ' # BAAARDZO PRZYDATNE :D
alias    -g    S='|sort'
alias rm="rm -I" # Zabezpiecza przed pochopnym skasowaniem danych
alias w="w -f"
alias aria2cSl="aria2c -s 5 --max-download-limit=200K" # pobieranie równoległe - 5 połączeń + limit danych
alias aria2cS="aria2c -s 5" # j.w. ale bez limitu
alias du="du -h"
alias DU="du -sh *" # wyświetla rozmiar katalogów
alias   Sshfsm='sshfs mirley@192.168.1.2:/home/mirley/ /home/users/grizz/mnt/mirley' # Podmontowanie zdalnego systemu plików - niżej link z objaśnieniami
export EDITOR="gvim"
alias e=$EDITOR
alias s="uptime && echo \"--\\n\" && free -m && echo \"--\\n\" && t && echo \"--\\n\" && sensors G CPU && echo \"--\\n\" && /usr/sbin/hddtemp -q /dev/sda && /usr/sbin/hddtemp -q /dev/sdb # potworek, ale przydatny daje wynik jak poniżej:

Artykuł o sshfs

Wynik aliasu s

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
~/ s
09:07:20 up  2:17,  9 users,  load average: 0.28, 0.33, 0.39
--

             total       used       free     shared    buffers     cached
Mem:          2002       1868        134          0          0       1150
-/+ buffers/cache:        718       1284
Swap:         2098          0       2098
--

Core 0:      +48.0°C  (high = +86.0°C, crit = +100.0°C)
Core 1:      +48.0°C  (high = +86.0°C, crit = +100.0°C)
VCore:       +1.23 V  (min =  +0.00 V, max =  +1.74 V)
--

CPU Fan:    1454 RPM  (min = 1095 RPM, div = 8)
CPU Temp:    +26.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor = diode
--

/dev/sda: ST3160815AS                             �: 41°C
/dev/sdb: WDC WD1600AAJS-07PSA0                   �:  38°C lub °F

Inna wersja aliasu s

1
s='uptime ; echo "--" ; free -m ; echo "--" ; t ; grep "cpu MHz" /proc/cpuinfo ; cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; sensors G CPU  ; /usr/sbin/hddtemp -q /dev/sda ; echo -ne "GeForce temp: " ; nvidia-settings -q gpucoretemp -t'

Otrzymamy

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
~/ s                                                                                                                                                  
 19:22:19 up  3:25,  2 users,  load average: 0,40, 0,49, 0,54
--
             total       used       free     shared    buffers     cached
Mem:          5968       5727        240         33        150       2482
-/+ buffers/cache:       3094       2874
Swap:         9215          0       9215
--
Core 0:       +54.0°C  (high = +82.0°C, crit = +100.0°C)
Core 1:       +54.0°C  (high = +82.0°C, crit = +100.0°C)
Core 2:       +52.0°C  (high = +82.0°C, crit = +100.0°C)
Core 3:       +51.0°C  (high = +82.0°C, crit = +100.0°C)
cpu MHz         : 1596.000
cpu MHz         : 1596.000
cpu MHz         : 1596.000
cpu MHz         : 1596.000
ondemand
ondemand
ondemand
ondemand
CPU FAN Speed:     1939 RPM  (min =  800 RPM, max = 7200 RPM)
CPU Temperature:    +45.0°C  (high = +60.0°C, crit = +95.0°C)
/dev/sda: ST1000DM003-9YN162: 37°C
GeForce temp: 57
57

PLD

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
alias pu="poldek --up"
alias pllu="ipoldek llu"
alias pul="pu && pllu" #tricky :P # aktualizuje indeksy i wypisuje pakiety do aktualizacji
alias pud="poldek --upgrade-dist" # aktualizuje dystrybucje, najpierw dać `pu` - nie używam już, wolę `pul`
alias pth="poldek -n th-test -n titanium -n titanium-test -n th -n th-ready" # repozytoria PLD Th - na codzień używam Titanium
alias pula="pth --up && pul && pth --shcmd 'llu kde* gtk2-theme-engine-*'" # aktualizuje indeksy Th i Ti, wypisuje wszystkie aktualizacje dla Titanium i aktualizacje kde dla TH - po prostu w Ti nie ma jeszcze kde4
 
# Przydatne do budowania pakietów - do wykonywania na plikach .spec
alias Sv="grep Version"
alias Ss="grep Sum"
alias Su="grep URL"
alias bb='time ./builder -bb'
alias bbak='time ./builder -bb --define alt_kernel desktop'

Archlinux

Już bez komentarzy. nie pamiętam co dana opcja robiła - Archa nie używam od długiego czasu. Aliasy zaczynają się od pc bo wcześniej operowały na pacmanie :)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
alias pcs="yaourt -S"
alias pcsb="yaourt -Sb"
alias pcsu="yaourt -Su"
alias pcsy="yaourt -Sy"
alias pcsyu="yaourt -Syu"
alias pcr="yaourt -R"
alias pcq="yaourt -Q"
alias pcqi="yaourt -Qi"
alias pcql="yaourt -Ql"
alias pcqo="yaourt -Qo"
alias pcqs="yaourt -Qs"
alias pcu="yaourt -U"

Całość mojej konfiguracji zsh:

git clone git://github.com/grizz-pl/zshrc.git

http://github.com/grizz-pl/zshrc

Ubuntu/Kubuntu i pochodne

Wstyd, czy nie wstyd od czasu PLD i Archa nic specjalnie w konfiguracji nie zmieniałem. Zdecydowanie opieram się na historii zsh i tym co powyżej.

Posłowie

Dysponujesz jakimś ciekawym czy pożytecznym aliasem? Podziel się nim w komentarzu. Dziękuję.

Załadować komentarze?