Faceți căutări pe acest blog

miercuri, 14 decembrie 2011

Alias

 Dacă folosiți linia de comandă, ați descoperit că uneori este destul de incomod și neproductiv să tastați comenzi lungi, fără să pomenim faptul că trebuie memorate tot felul de opțiuni și parametri. Aliasurile sunt redenumiri/ prescurtări ale comenzilor. Editați fișierul .bashrc, veți observa că deja există în acest fișier aliasuri (alias ls='ls --color=auto' de exemplu). Așa că putem folosi și alte aliasuri, adăugând în fișierul ~/.bashrc (adică /home/user/.bashrc) o linie de forma: alias nume-dorit='comandă-lungă-și-greu-de-memorat'. De exemplu, am un alias pentru înlocuirea wallpaperului clasic cu un fișier video:
alias artificii="xwinwrap -ni -fs -s -st -sp -b -nf -- mplayer -wid WID -nosound -vo gl2 -ao alsa ~/Downloads/fireworks_pal.mpeg -loop 0"
 Ei bine, dacă dau în consolă comanda artificii, shell-ul știe că de fapt comanda este xwinwrap -ni -fs -s -st -sp -b -nf -- mplayer -wid WID -nosound -vo gl2 -ao alsa ~/Downloads/fireworks_pal.mpeg -loop 0 și se comportă ca atare, în acest caz îmi pune videobackdround-ul dorit...
 Poate ați observat că în primul exemplu comanda normală ce va fi înlocuită de alias este pusă între caracterele ' ' , iar exemplul concret între caracterele " " . Ambele variante sunt valabile, sunt caracterele de pe tasta de lângă tasta Enter, cea cu virgulă jos și 2 virgule sus (pentru layout tastatură US, nu RO).
 Ok, am setat un alias, pentru a putea folosi acel alias sau închidem/ repornim consola, sau, mai simplu dăm comanda source .bashrc, astfel ca shell-ul bash să știe de modificarea făcută.

 Dacă avem multe aliasuri, uneori e posibil să uităm unele din ele, caz în care e suficient să dăm comanda alias în consolă, și outputul va conține TOATE aliasurile noastre.

  Dacă știm aliasul, dar nu reținem exact ce face, sau vrem să-i vedem sintaxa comenzii (toți parametrii), e suficient să dăm comanda type --all alias-respectiv.

 Pentru a vedea toate aliasurile create unei comenzi putem da comanda: alias | grep comanda-respectivă sau cat .bashrc | grep comanda-respectivă, sau grep comanda-respectivă .bashrc (grep mplayer .bashrc de exemplu).
 


 Mai trebuie menționat faptul că aliasurile din /home/user/.bashrc sunt valabile doar pentru userul respectiv, dacă dorim aliasuri pentru contul root, acestea vor fi puse în fișierul /root/.bashrc, iar dacă avem mai multe conturi de user, și dorim aliasuri general valabile/ utilizabile de toți userii, adăugăm aceste aliasuri în fișierul /etc/skel/.bashrc.

 Pentru a eluda un alias putem folosi în fața comenzii caracterul \. Cum spuneam, în .bashrc este setat implicit  alias ls='ls --color=auto', deci comanda ls este interpretată de shel ca fiind ls --color=auto, pentru afișarea fără culori folosim \ls.

Niciun comentariu:

Trimiteți un comentariu

Back to top