Log inRegister

Unix előzmények

Ebben a részben beszélünk majd a könyvtárakról (directories), fájlokról (files), szerkesztőkről (editors), jogosultságokról (permissions), valamint a híres shebang notation-ről.

Lásd még:

Általános előzetes - Könyvtárak (Directories) - Fájlok (Files) - Szerkesztők (Editors) - Shebang - Jogosultságok (Permissions)

Könyvtárak

A könyvtár Unix alatt ugyanaz mint más gépeken a dosszié (folder). Fájlok (files) tárolására való.

Négy alapvető parancs van, amit ismerned kell a könyvtárakkal kapcsolatban: pwd, cd, mkdir, és az ls.

A könyvtárak hierarchikusan tárolódnak. Ez azt jelenti, hogy van egy legfelső könyvtár, ami tartalmaz néhány könyvtárt, és azok közül a könyvtárak közül mindegyik tartalmazhat néhány fájlt és néhány könyvtárt és így tovább. Egy könyvtár teljes neve valahogy így néz ki:
/home/jhayward/perl_guide/text/chapter_0/unix

A slash-ek ('/') mutatják meg, merre is vagyunk. A kezdő slash jelzi a gyökérkönyvtárat, ez az összes könyvtár közül a legfelső; a "home" mutatja, hogy a "home" könyvtárban vagyok a gyökérkönyvtár alatt, a "jhayward" azt mutatja, hogy a "home" könyvtáron belül a "jhayward" könyvtárban vagyok (ez az én könyvtáram amiben a munkáim vannak), és így tovább.

Egy fájlra vagy könyvtárra hivatkozhatsz az abszolút vagy relatív elérési útjával. Ha az abszolút elérési úttal hivatkozunk egy fájlra, akkor a teljes utat meg kell adni a gyökérkönyvtártól indulva addig, ahol épp vagyunk. Amikor viszont relatív utat adunk meg, meg kell mondanunk, mihez képest vagyunk ott ahol vagyunk. Az általunk éppen szerkesztett fájl abszolut elérése tehát így fog kinézni:
/home/jhayward/perl_guide/text/chapter_0/unix/directories.html

a relatív elérési út pedig:
directories.html

onnan nézve, ahol most épp vagyunk.

A .. könyvtár az adott könyvtár esetében az egy szinttel feljebb lévő könyvtár. Vagyis ez a könyvtár
/home/jhayward/perl_guide/text/chapter_0/unix/..

azonos ezzel
/home/jhayward/perl_guide/text/chapter_0/

Lásd még:

pwd - cd - mkdir - ls - Files

pwd

A pwd egy Unix parancs, jelentése angolul print working directory. Ez kinyomtatja az adott könyvtárat ahol éppen vagyunk. Ha épp egy Unixos gép előtt ülsz, próbáld ki mi történik ha beírod a pwd parancsot (persze utána üsd le a return gombot).

Használhatod a pwd parancsot hogy lásd, épp hol vagy; ellenőrizheted vele hogy a kívánt könyvtárban vagy-e.

Lásd még:

Unix előzmények - Könyvtárak (Directories) - cd - mkdir

cd

A cd parancs egy Unix parancs, jelentése angolul change directory. A jelenlegi könyvtárból egy másikba lép be.

Általában így kell beírnunk:
cd elérési út

ahol az elérési út lehet abszolút vagy relatív (mint arról már beszéltünk korábban) elérési útja a könyvtárnak. Például a szülő könyvtárba (parent directory) lépéshez (ez ugye az egy szinttel feljebb lévő könyvtár) a jelenlegiből, ezt kell begépelned:
cd ..

Mit gondolsz, mi lesz a következő parancs eredménye:
pwd
cd ..
pwd

Miért nem írod be hogy kipróbáld, mi történik?

Végül, egy speciális esetként, ha beírod
cd

anélkül hogy írnál mögé bármit is, ez elvisz a home könyvtárba. A Home könyvtár az a számítógépednek az a könyvtára, amiben a dolgaidat tartod.

Lásd még:

Unix előzmények - Könyvtárak (Directories) - pwd - mkdir

mkdir

A mkdir parancs segítségével könyvtárat tudsz létrehozni. Munkánk során valószínűleg fájlokat fogunk létrehozni; itt az idő, hogy ezek számára készítsünk egy könyvtárat.

Először is menjünk a home könyvtárunkba:

cd

Azután hozzuk létre a könyvtárat -- a neve legyen mondjuk "barkacsolas"
mkdir barkacsolas

Na és most lépjünk be ebbe a könyvtárba, mielőtt elkezdenénk a könyv által javasolt egyéb dolgokat kipróbálni. Szóval lépjünk be a könyvtárba:
cd barkacsolas

Ne felejtsünk el belépni ebbe a könyvtárba minden alkalommal amikor folytatjuk a könyvünk leckéit. Ha nem vagyunk biztosak benne hol vagyunk éppen, adjuk ki a következő parancsot
pwd

hogy lássuk merre is járunk. Bárhol is járunk a rendszerünkben, a következő parancsokkal mindig a "barkacsolas" könyvtárba jutunk:
cd
cd barkacsolas

És most elértünk oda, hogy a fájlokról és a szerkesztő programokról beszélhessünk.

Lásd még:

Unix előzmények - Könyvtárak (Directories) - pwd - cd - ls

ls

Az ls egy Unix parancs, a fájlok listázására egy könyvtárban. Hogy lásd milyen fájlok és könyvtárak vannak egy adott könyvtárban, írd be:
ls

Lehet hogy nem látsz semmit -- ha követted a könyvünk menetét, akkor egy üres könyvtárban kell lenned. Jól jegyezd meg ezt a parancsot, rövidesen még jól fog jönni.

Lásd még:

Unix előzmények - Könyvtárak (Directories) - pwd - cd - mkdir - Fájlok (Files) - Szerkesztők (Editors)

Fájlok

A könyvtár (directory) egy olyan hely a számítógépen, ahol dolgokat tárolhatsz; a fájl (file) pedig az a dolog amit ténylegesen ott tartasz. Minket az érdekel most, hogy Perl programokat írjunk, módosítsunk.

Egy fájnak van neve, ami betűkből, számokból és /vagy aláhúzás karakterekből állhat. A Perl programok nevének ".pl"-re kell végződnie. Íme néhány minta a helyes fájlnevekre:
hello_world.pl
test.pl
list_pets.pl

Minden fájl (amikkel most dolgozunk) egy programot fog tartalmazni, és (most) minden program egy fájlban lesz tárolva. Szóval a fájl az ahol a program tárolódik. Ezeket a programokat szövegszerkesztőkkel (editors) hozzuk létre, majd használhatóvá tesszük őket az engedélyek (permissions) beállításával.

Lásd még:

Unix előzmények - Könyvtárak (Directories) - ls - Szerkesztők (Editors) - Engedélyek (Permissions)

Szövegszerkesztők

A Szerkesztők (Editors) olyan programok, amelyekkel fájlokat hozhatunk létre vagy módosíthatunk. Ebben az esetben minket a szövegszerkesztők (text editors) érdekelnek, amik szövegeket tartalmazó fájlok szerkesztésére valók.

Nagyon sok különböző szerkesztő program van, és mindnek megvan a maga előnye és hátránya. Mi itt az egyszerűen használható joe-t ajánljuk.

Lásd még:

Unix előzmények - Fájlok (Files) - joe

joe

joe a neve ennek a könnyen használható szerkesztőnek (editor) a Unix rendszer alatt. Ahhoz, hogy a joe-val létrehozzunk egy "hello_world.pl" nevű fájlt, írjuk be:
joe hello_world.pl

Most egy jobbára üres képernyőt fogunk látni. Nyomjunk control-K-t aztán egy 'H'-t hogy a Segítség (Help) képernyőre jussunk. Ez felhozza nekünk a képernyőre azokat a parancsokat, amikre szükségünk lesz a fájl szerkesztése során.

És most létre fogjuk hozni az első saját programunkat. Írjuk be a következőt, pontosan ahogy itt látjuk:
#!/usr/local/bin/perl

print "Hello world!\n";

Azután nyomjunk control-K-t és X-et ahhoz hogy elmentsük a fájlt. Meg fogja kérdezni, hogy milyen néven kívánjuk lementeni, írjuk be:
hello_world.pl

Olvass tovább hogy megtudd, hogyan kell futtatni ezt a programot.

Lásd még:

Unix előzmények - Fájlok (Files) - Szerkesztők (Editors) - Shebang - Engedélyek (Permissions)

Shebang

Unix alatt egy fájl elején a "#!" karakterek mondják meg a számítógépnek, hogy milyen programot kell használnia a fájlhoz. Ezt hívják úgy hogy shebang jelölés.

Ha meg akarod mondani a számítógépnek, hogy az adott fájl egy Perl program, akkor minden Perl programot tartalmazó fájl első sorába a következőket kell pontosan begépelned:
#!/usr/local/bin/perl -w

vagy
#!/usr/bin/perl -w

(Melyiket kell használnunk? Az egyik működik, a másik nem. Próbáld ki.)

Ha ezt nem teszed meg, a számítógép teljesen össze lesz zavarodva amikor azt mondod neki, hogy futtassa a programot.

Lásd még:

Unix előzmények - Fájlok (Files) - Szerkesztők (Editors) - Engedélyek

Engedélyek

Amikor létrehozol egy szövegfájlt, a Unix nem tudja magától, hogy te ezt programként akarod futtatni. Tehát neked kell megmondanod hogy engedélyt adsz rá magadnak vagy akár másoknak is, hogy programként futtassák azt.

Ezt a chmod parancs segítségével teheted meg.

Lásd még:

Unix előzmények - Fájlok (Files) - chmod

chmod

chmod egy Unix parancs arra hogy beállítsuk egy fájl engedélyeit (permissions), beleértve azt is, hogy a számítógép programként futtassa azt.

Gépeljük be a következőt, hogy mindenki tudja használni a programot:
chmod 755 fájlnév

ahol a fájlnév az az adott fájlnak a neve, mint például "hello_world.pl".

Ha viszont azt szeretnénk hogy csak mi tudjuk futtatni a programot, akkor ezt írjuk be::
chmod 700 fájlnév

Persze ezt az előtt kell megtennünk, hogy futtatni próbálnánk a programot. Ha eddig követted a könyvet, akkor most gépeld be:
chmod 755 hello_world.pl

És most minden kész hogy futtassuk a programot!

Lásd még:

Előzmények - Fájlok (Files) - Engedélyek (Permissions)

A programok futtatása

Ha eddig hűen követted a szöveget, akkor létrehoztál egy programot, és futtathatóvá tetted. Akkor hát futtassuk. Írjuk be a következőt:
hello_world.pl

Na, mi történt? Ha kiírta, hogy "Hello, world?" akkor minden a legnagyobb rendben! Ha nem, akkor az történt ami minden programozóval megtörténik -- hogy hibáztál. Semmi baj, lépjünk vissza, és nézzük meg mi történt.

Lásd még:

Unix előzmények - Fájlok (Files) - Shebang - Engedélyek (Permissions)

-- BalsaiPeter - 2013.02.15