Aliasok kezelése

Egy rövid és sokaknak ismerős témát mutatok be. Ezt sokan ismerik, így számukra nem lesz hasznos, de többen biztosan csak hallottak, olvastak róla.

Alias-ok használata MX Linux alatt

Ha több olyan parancsod van, ami hosszú akkor bizonyára nem szeretnéd mindig begépelni, hiszen az elütés veszélye nagy. Én naponta használom az alábbi hosszú parancsot, ami az adott alkönyvtárban lévő összes könyvtárat összetömöríti, könyvtáranként. Volt róla szó.

find -maxdepth 1 -type d -not -name . -exec zip -r '{}'.zip '{}' \;

Mit tehetünk, ha nem akarjuk napi szinten beírni ezt a sok karaktert? A legegyszerűbb módja, és ez a legkezdetlegesebb is, ha nyitunk egy sima szövegfájlt, majd abba beírjuk a hosszabb, több paramétert tartalmazó parancsot. Én ezt előszeretettel használom, bár nem direkt szövegfájlba írom, hanem a Zim-be, így meg is találom, azt amit keresek. Ez hasznos, ha ritkábban használjuk az adott parancsokat. De nagy hátránya, hogy meg kell nyitni az adott programot, kimásolni a parancsot, majd beilleszteni a terminálba. A kényelmetlenség fokozódik, ha nem grafikus felületen dolgozom, és nem csak kattintgatni kell. Haladóbb megoldás, ha scriptesítjük a parancsot, azaz készítünk egy bash scriptet. Ez sem nagy feladat, csak pontosan kell beírni az összes kapcsolót és örökre Sima szövegfájl? Igen, a fenti feladatokhoz olyan szövegszerkesztő kell, ami biztosan nem fog formázásokat, dőlt és vastagított karaktereket használni. Az ilyen szövegszerkesztőből legalább egy tucat nagyon jó létezik. Én a geany-t használom, de ez szubjektív döntés, és nagyon egyszerű oka van: ezer éve ezt használom, nekem teljesen megfelel. Van magyar helyesírás ellenőrző is, ami nagy előny. Illetve kisebb munkával jól személyre szabható, és témázható is.

Hogyan készítsünk egyszerűen scriptet?

Nagyon egyszerű, kell egy üres sima szövegfájl, amit futtathatóvá teszünk. Erre minden fájlkezelő alkalmas, de a chmod 700 teszt.sh is jó megoldás. Bár sokan túlzónak tartják, de én a saját scriptjeimet csak saját jogosultsággal látom el, a csoport és a többiek semmi jogot nem kapnak. Ahogy látni én a scriptekhez az .sh kiterjesztést használom, így nem elég a teszt parancs kiadása, hanem a teszt.sh használhatjuk csak. Ezt én a ~/bin könyvtárba rakom, ami benne van a PATH változóban, és így mindenhonnét elérem. A használt shell-től függően vagy .bashrc, vagy a .zshrc fájlban keresd meg a PATH= sort, és ha nincs benne a $HOME/bin, akkor írd bele. Nálam ez így néz ki:

export PATH=$HOME/bin:/usr/local/bin:$PATH

Zsh használatánál érdemes már a zsh-ra való átállásnál a sor elejéről kivenni a #-t, mert valami miatt le van tiltva. A következő lépés az első sor elkészítése a teszt.sh-ban. #!/bin/bash ezzel megadjuk neki, hogy a bash (vagy ha mást akarsz, akkor azt, pl. zsh) alatt értelmezze a következő sorokat. Általában, ha nem tudod miért lenne jó mást beírni, a fenti sor jó lesz. Ezután más csak be kell írni a parancsot, azaz az adott példában így néz ki:

#!/bin/bash 
find -maxdepth 1 -type d -not -name . -exec zip -r '{}'.zip '{}' \;

Lemented, majd valami értelmes nevet kap: dzip.sh, hogy meg tudjuk jegyezni.

Alias-ok használata

Nem bonyolult, de van egy egyszerűbb megoldás is, mint a script. Az alias használata. Az alias-ok (álnevek) olyanok, mint egyéni parancsikonok, amelyek egy parancsot (vagy parancssorozatot) hajtanak végre. Akár a .bashrc-be, akár a .zshrc-be belenézve látunk pár (egyes disztribúcióknál több tucat) ilyent felsorolva az alias-ok közt. A jelenleg is használható alias-okat az

alias

paranccsal listázhatjuk ki. Ha Oh My Zsh-t használsz, és jó pár plugint is aktiváltál, akkor lehet, hogy több tucat alias lesz felsorolva. Ha legalább egy alias-t láttál, akkor nem lesz nehéz létrehozni egy sajátot. A felépítése nagyon egyszerű:

alias név="a parancs és a kapcsolók"

Azaz minden sor alias-szal kezdődik, majd egy értelmes, rövid nevet kap, és az egyenlőség jelet követi macskakörmök közt a parancs. Az egyenlőség két oldalán ne legyen üres karakter, space! Amire érdemes figyelni, ha pld. a libreoffice-ből, weblapról stb. másolsz be valamit, akkor lehet, hogy az idézőjeleket a sima szövegszerkesztőben át kell írnod! Van a „” és a "". Ha olyan, mint az első, akkor írd át a sima szövegszerkesztőben! Ezt a sort kell beírni a használt shell konfigurációs fájljába, ami vagy .bashrc, vagy .zshrc. Ha mást használsz, akkor nézz rá a kézikönyvre, hogy azon a shell-en miképp megy ez! Ennyi. A fentebb említett tömörítést így oldottam meg:

alias dzip="find -maxdepth 1 -type d -not -name . -exec zip -r '{}'.zip '{}' \;"

Mentés. Ezután vagy kilépsz a terminálból, és vissza, vagy

source ~/.bashrc illetve a source ~/.zshrc

parancsot adod ki. Ezután már nem kell mást begépelned, csak a dzip-et, és a hosszú parancsot végre fogja hajtani. Ki tudod kapcsolni az alias-t, ha kiadod a

unalias dzip

parancsot. Ekkor nem fog működni az adott munkamenetben az adott alias. Az összes alias kikapcsolása:

unalias -a

Bár nem használom, de ideiglenesen, az adott munkamenetre is létre hozhatsz egy alias-t. A terminálba beírod, hogy:

alias név=”a parancs és a kapcsolók”

azaz pontosan azt, amit a konfigurációs fájlba kellene. Majd ENTER. Ez a beállítás eltűnik, ahogy kilépsz a terminálból. Így a használata korlátozott, de vannak esetek, amikor érdemes ezt használni. Az alias-ok hátránya, hogy hosszabb, bonyolultabb shell scriptet nem tudnak kiváltani, azaz csak a viszonylag egyszerű feladatokra tudjuk használni őket. Ami nem jelent a mi szintünkön komoly hátrányt. Én ökölszabályként az követem, hogy a két sornál hosszabb parancsokat nem alias-ba, hanem scriptbe rakom. Átláthatóbb nekem. Három, eltérő módszert mutattam, hogy ne kelljen minden egyes alkalommal sok tucat karaktert begépelni, csak párat. Bár bármennyi scriptet készíthetünk, és alias-ok száma sincs (tudtommal) korlátozva, de tartsunk mértéket. Elveszti az előnyét, ha a gépelés helyett azon kell gondolkodni, hogy mi is a neve az adott scriptnek. Az alias-oknál nincs ilyen gond, mert az alias kilistázza, és ott lehet böngészni.

Névadás alias-oknál

Ne legyen olyan neve, melyet már más használ! Azaz semmilyen más program nevével ne ütközzön. Praktikus, ha a neve rövid és bizonyos szabályokat követ, hogy komolyabb gondolkodás nélkül is azonnal tudjuk.

Ennyi.

Az eredeti bejegyzés a blogomban jelent meg.

Hozzászólások

Zenity

A zenity jó ötlet, sok esetben használom is. :) 

Értékelés: 

0
Még nincs értékelve