Navigáció
Felhasználók
Online vendégek: 1

Online tagok: 0

Regisztráltak: 15
Legújabb tag: csakalinuxjo
Bejelentkezés
Felhasználónév

Jelszó



Még nem regisztráltál?
Regisztráció

Elfelejtetted jelszavad?
Új jelszó kérése

Üzenőfal
Üzenet küldéséhez be kell jelentkezned.

Még nem küldtek üzenetet.
Cikk hierarchia
A parancsok használatáról általánosan 2. rész
  thottee thottee Dátum -  06-09-2014 00:10 06-09-2014 00:10 1352  megnyitás 1352 megnyitás
printer
Mint azt az első részben megismertük, többnyire a különböző linux parancsok bizonyos programok neveiből, hozzájuk tartozó kapcsolókból és argumentumokból állnak. Egy-egy ilyen program gyakran nem képes túl komplex feladatokra, de ezeket összevonva megalkothatjuk saját magunk számára a legmegfelelőbb megoldásokat.

Ezeket a programokat megtalálhatjuk a root-on lévő bin és sbin, vagy a /usr könyvtárban lévő ugyanilyen nevű alkönyvtárakban. Ez azt jelenti, hogy ezekben a könyvtárakban lévő futtatható állományok egyszerű parancsokként használhatók. Ezzel a lehetőséggel élve megtehetjük hogy ún. új "parancsokat" hozhatunk létre, az az más néven script fájlokat. A script fájl valójában nem más, mint egy olyan szöveges fájl, mely felsorolja a parancsokat, és futtathatóvá tétele után bármikor egyszerűen végrehajthatjuk a benne lévő tartalmat. Mielőtt megismerkednénk a script fájlok hatékonyságáról, vegyünk egy pillantást magukra a fájlokra.

Keressük meg az előző cikkben használt mkdir programot, mely a /bin könyvtárban helyezkedik el. (A könyvtárszerkezetről a könyvtárszerkezet c. cikkben található részletes leírás.) Ehhez be kell lépnünk a /bin könyvtárba, melyre a legegyszerűbb program a cd (change directory), ami nem csinál mást, mint átváltja az aktuális tartózkodási helyünket. Így a parancs a következő képpen fog kinézni: cd /bin

Ekkor az ls program segítségével kilistázhatjuk hogy mit is találunk a /bin könyvtárba, de ha szeretnénk kifejezetten az mkdir nevű programra keresni, megoldhatjuk ily módon is: ls -lh mkdir. Ilyenkor ha mindent jól csináltunk és létezik az mkdir nevű fájl, egy sort kapunk vissza, melyen az mkdir fájlhoz tartozó adatokat, pontosabban a jogokat, a tulajdonost, a hozzá tartozó csoportot, a méretét és a létrejöttének dátumát láthatjuk. Mivel ez a fájl maga a program és egyben a parancs is melyet a terminálon belül használunk, így ha átneveznénk, más parancs-névvel is igénybe vehetnénk a könyvtárak létrehozását. Ez kevésbé ajánlott módszer, ugyanis előfordulhat, hogy egy másik program az mkdir programot szeretné használatba venni, és így nem találná azt. Erre megoldás lehet a ln (link) nevű program.

A ln hasonló módon működik mint egy parancsikon a Windows rendszerek esetében. Legelterjedtebb használati formája a szimbolikus link, mely az ln -s parancsot takarja. A szimbolikus linkek feladata, hogy egy létrehozott linket, "fájlt" hozzákössenek egy létező másik állományhoz, így a linket használva a hozzácsatolt könyvtárt és/vagy fájlt érjük el. A szimbolikus linkek, annak ellenére hogy a linuxban fájlokként jelennek meg, nem fájlok, csupán bejegyzések a linux fájlrendszerében, ez által nem is másolhatók át pl. egy ntfs partícióra. Az ln -s alap szintaktikája: ln -s mit milyennéven. Ez által létre is hozhatnánk a saját szimbolikus linkünket a /bin könyvtárban állva, de mivel a /bin könyvtárra csak rendszergazda jogosultsággal lehet írni, ezért használnunk kell hozzá a sudo nevű programot, mely rendszergazdaként futtatja a mögé írt egyéb programokat. A sudo program kérni fogja a jelszavunkat, mely begépelése alatt a terminál nem jelez vissza számunkra semmit, de nyugodtan írjuk csak be és üssünk a végén egy entert. Tehát a parancsunk a következő lesz: sudo ln -s mkdir ujmappa
Lefordítva: rendszergazdaként futtatjuk az ln -s nevű parancsot, mely szimbolikus linket készít az mkdir nevű fájlról ujmappa néven. Mivel nem adtunk meg az ujmappa elnevezés számára egy konkrét útvonalat, így az ujmappa nevű link is a /bin könyvtárban fog helyett foglalni. Ezek után már az ujmappa nevű paranccsal is készíthetünk mappát. Természetesen ezt ne a /bin könyvtárban tegyük meg, hanem lépjünk vissza saját "HOME" könyvtárunkba a cd $HOME kiadásával, és kipróbálhatjuk az ujmappa mappanév parancsunkat. Megj.: mappát törölni az rm -R mappanév paranccsal tudunk.

Természetesen ha komplex parancsokra szeretnénk egy rövid új parancsot létrehozni, azt az ln segítségével már nem tudjuk megtenni, ugyanis ebben az esetben nem tudunk csak a fájl nevére hivatkozni. Erre találták ki viszont az alias nevű programot. Az alias segítségével komplex parancsokat, parancs együtteseket rendelhetünk hozzá egy rövid parancs-névhez, amit a következő képpen tehetünk meg: alias újparancsnév="komplex parancsok"
Példaként nézzük meg az echo programot, mely nem csinál mást, mint a mögé írt ' ' jelek közé tett szöveget vissza írja a képernyőre. Így első ránézésre elég értelmetlennek tűnik, de valójában az egyik leghasznosabb eszköz, viszont ezt később megnézzük, hogy miért. Egyelőre próbáljuk ki: echo 'Mi a helyzet?' Mivel ez egy komplex parancs, erre esetlegesen tudunk létrehozni egy aliast is a fentebb leírt módon: alias mia="echo 'Mi a helyzet?'" Figyeljünk a ' és " jelek helyességére! Így létrehoztuk a mia "parancsunkat", melyet kiadva megjelenik a képernyőn a Mi a helyzet? felirat.

Sajnos ez csak ideiglenes működik, amíg a terminálunkat be nem zárjuk. Ahhoz hogy az alias-aink megmaradjanak, be kell őket írni a $HOME könyvtárunkban lévő .bashrc nevű rejtett fájlba. "A fájlnév elötti . jelzi linux fájlrendszerekben a rejtett fájlokat." Ennek a fájlnak a tartalma automatikusan lefut minden egyes terminál megnyitásakor, tehát ez valójában már egy script fájl.
Most jön a trükkös rész, ugyanis a relációs jelek segítségével beletehetjük egy program kimenetelét egy másik program bemenetelébe, vagy esetünkben egy fájl tartalmába, a .bashrc fájlba. Az 1 darab jobbra néző > jel új fájlt hoz létre (óvatosan bánjunk vele, mert felülírhatjuk kérdés nélkül a már meglévő fájlunkat), a 2 darab >> jel viszont hozzáír, hozzácsatol a már meglévő fájl tartalmához.
Mi az amit mi hozzá szeretnénk csatolni a .bashrc fájl tartalmához?
Hát az alias mia="echo 'Mi a helyzet?'" bejegyzést. Tegyük is az egészet ' ' jelek közé és írjunk elé egy echo-t a következőképp: echo 'alias mia="echo 'Mi a helyzet?'"' Ez után meglátjuk, ha entert nyomunk, visszakapjuk az alias-t készítő parancsunkat a képernyőre. Most nyomjunk egy felfele mutató nyilat a billentyűzetünkön, mely az utoljára beírt parancsot írja be ismét a terminálunkra, és tegyünk az egész végére egy >> $HOME/.bashrc bejegyzést a következő képpen: echo 'alias mia="echo 'Mi a helyzet?'"' >> $HOME/.bashrc
Na most ez így már elég brutálisan néz ki, de nézzük meg pontosan mit csináltunk. A sor elején lévő echo által visszaadott alias mia="echo 'Mi a helyzet?'" alias készítő parancsunkat hozzácsatoljuk a >> jelek segítségével a $HOME könyvtárunkban lévő .bashrc fájlhoz, ami által ezek után bármikor egy terminált megnyitva a mia "parancsunk" kiírja a képernyőre a Mi a helyzet? feliratot.

Ez utóbbi dolog már hasonlít egy script-hez, amit ha egy futtatható fájlba teszünk, létrehozzuk azt a programot, mely telepíti a gépünkre a mia "parancsunkat", így ezt a telepítő scriptet akár bármilyen ismerősünkkel megoszthatjuk e-mailben, pendrive-on vagy egyéb eszközökön.
Mint látható hamar eljutottunk egy terminál viszonylag komplex használatához, de ez csak a jéghegy csúcsa. Ami ez alatt van az a végtelen határ, a képzeletünk határa, mely igazi szabadságot add a linux felhasználók kezébe. Ezzel a rövidke cikkel nem az volt a célom, hogy minél több különböző "parancsot" elsajátítsunk, hanem hogy átlássuk ezek működési elvét. Így, mint azt a nyelvek tanulása közben is megismerhetjük, már csak arra lesz szükségünk hogy minél több "szót" megtanuljunk, és akkor azokat kellő képpen kombinálva komplex feladatokat hozhatunk létre.

Ha komolyabban érdekel a dolog titeket, néhány parancsot rövid leírással megtaláltok ITT.

A script-ek írásával és a programok standard be-, illetve kimenetével a "Csövek (pipeline) és egyéb átirányító eszközök" c. cikkünkben olvashattok tovább.

Értékelés
Csak regisztrált tagok értékelhetnek.

Kérjük jelentkezz be vagy regisztrálj.

Még nem értékelték