A parancsokat úgy hajtjuk végre, hogy begépeljük a nevüket a parancssorba. A parancs neve után szóközökkel elválasztva kell megadni a paramétereket: ezek határozzák meg közelebbrõl, hogy a parancs mit is csináljon. A paraméterek közül azokat amelyek mínusz jellel kezdõdnek, ezentúl kapcsolóknak fogjuk hívni, mivel ezekkel lehet bekapcsolni egy parancs különféle üzemmódjait. A kapcsolókból rendszerint egyszerre több is megadható, ilyenkor általában elegendõ egy mínusz jelet kiírni és felsorolni utána a kapcsolókat (ezt nem minden rendszer teszi lehetõvé!). Például az ls -l -a -r parancs megadható így is: ls -alr
Elsõsorban PC-n nevelkedett felhasználóknak okozhat kellemetlen meglepetést a Unix szûkszavúsága. Mindig csak annyi üzenetet kapunk, amennyit a rendszer elengedhetetlenül szükségesnek tart. Ezért ne lepõdjünk meg, ha egy parancs végrehajtása után semmi sem jelenik meg a képernyõn: ez azt jelenti hogy a parancs hibátlanul végrehajtódott. A Unix programok sikeres végrehajtás esetén soha nem jeleznek vissza, csak hiba esetén.
A Unix törekszik az egységességre, ennek szellemében minden interaktív parancsból ugyanúgy kell kilépni. (Interaktívnak nevezzük azokat a parancsokat, amelyek futás közben elvárják, hogy begépeljünk nekik valamit.) Tehát ha ki akarunk lépni egy ilyen programból, üssük le a <Ctrl-d> billentyûkombinációt.
Ha a parancssorban ütjük le a <Ctrl-d>-t, akkor kijelentkezünk a rendszerbõl (néhány gépen ez le van tiltva, helyette a logout parancsot kell használnunk). Ez összhangban van az elõzõ alapelvvel, mert amikor be vagyunk jelentkezve, valójában egy programot futtatunk (ez a parancsértelmezõ, amit shell-nek vagy buroknak hívnak): kijelentkezéskor ebbõl a programból lépünk ki.
Ugyancsak alapelv, hogy a kis- és a nagybetûk különbözõnek számítanak. Ügyeljünk erre, és lehetõleg semmit ne gépeljük csupa nagybetûvel!
A fájlnevek maximális hossza általában 255 karakter, és szinte bármilyen karakterbõl állhat(nak). Néhány karakternek azonban különleges szerepe van, ezért célszerû a névadáshoz csak az angol ábécé betûit, a számokat, a pontot, valamint a mínusz és az aláhúzás jelet használni. A kis és nagybetûk a fájlnevekben különbözõnek számítanak, csakúgy mint a parancsokban. Lehetõleg ne használjuk a nevekben csillagot (*) és elsõ karakterként pontot.
ls -tparancs az utolsó módosítás dátuma szerint rendezve listázza ki a fájlok neveit úgy, hogy az utoljára módosított fájl lesz az elsõ a listán. A -l kapcsoló un. hosszú (long) listát ad:
ls -l -rw-r--r-- 1 owner user 14649 Sep 6 09:54 nevek.txtA dátum és az idõ megadja hogy a nevek.txt nevû fájl mikor volt utoljára módosítva. Az 14649-as szám a fájlban található karakterek számát jelenti. A user a csoport neve, amelyikbe a felhasználó tartozik. Az owner a fájl "tulajdonosát", vagyis annak a felhasználónak az username-jét, aki a fájlt létrehozta. A "-rw-r--r--" kódsorozat a fájl elérési jogát mutatja: ezt a fájlt bárki elolvashatja, de csak a tulajdonos (owner) írhatja. Az elérési jogokról részletesen a második leckében lesz szó.
A kapcsolókból egyszerre több is megadható: például az ls -al parancs kilistázza valamennyi fájlt (all) beleértve azokat is, amelyek neve ponttal kezdõdik, hosszú (long) formában.
Azt is elõírhatjuk, hogy csak bizonyos fájlokat listázzon, például az
ls -l *ckilistázza valamennyi c betûre végzõdõ nevû fájlt. (A * karakter jelentése: "ezen a helyen bármilyen karakter(ek) állhatnak, tetszõleges számban; ez a szám akár nulla is lehet"). Jegyezzük meg, hogy mindig a kapcsolókat (-l) kell elsõ helyen megadni, és a fájlnevet a másodikon.
A csillaghoz hasonló metakarakter a kérdõjel, jelentése "ezen a helyen bármilyen karakter állhat". Így tehát az
ls a???parancs az összes a betûvel kezdõdõ, négy karakter hosszúságú fájlt fogja kilistázni.
Az ls parancs alapértelmezésben nem mutatja meg azokat a fájlokat amelyeknek ponttal (.) kezdõdik a nevük. Ha ezeket is látni szeretnénk, használjuk a -a kapcsolót:
ls -a
mv régi_név új_névparancs megszünteti a régi_név fájlt és létrehoz helyette egy új_név nevût. Ha az új_név nevû fájl már létezik, akkor felülírja azt a régi_név fájl tartalmával, rendszerint anélkül, hogy megkérdezne minket; komolyan felül akarjuk-e írni az új_név fájlt.
Ha másolatot akarunk készíteni egy fájlról, akkor ezt a cp paranccsal tehetjük meg.
cp eredeti másolatEkkor létrejön egy másolat nevû fájl, amely méretben és tartalomban megegyezik az eredeti fájllal.
Ha egy fájlra már nincs szükségünk, letörölhetjük az rm (remove) paranccsal.
rm fájl1 fájl2 fájl3Ez a parancs letörli a fájl1, fájl2 és fájl3 nevû fájlokat az aktuális alkönyvtárból.
Bejelentkezéskor a munkakönyvtárba kerülünk (home directory), de szabadon mozogtatunk az ebbõl nyíló alkönyvtárakban sõt, esetenként még más felhasználók alkönyvtáraiba is átmehetünk.
Alkönyvtárat az mkdir paranccsal tudunk létrehozni, belelépni pedig a chdir vagy cd paranccsal tudunk. Tehát az alábbi két parancs
mkdir alkonyvtar cd alkonyvtarlétrehoz egy, az aktuális könyvtárból nyíló alkönyvtárat, és bele is lép. Ha paraméterek nélkül adjuk ki a cd parancsot, akkor visszajutunk a home könyvtárba. Ha most kiadjuk az ls -l parancsot, a fájlok listájában az imént létrehozott alkönyvtár is szerepelni fog:
drwxr-xr-x 2 owner group 32 Nov 22 24:32 alkonyvtarA sor elején szereplõ d betû jelzi, hogy alkönyvtárról van szó. A paraméterek nélküli ls parancs által elõállított listáról sajnos nem tudjuk megállapítani, hogy melyik név jelent alkönyvtárat és melyik jelent fájlt.
Az rmdir parancs kitöröl egy alkönyvtárat, ha az üres. Ha a törölni kívánt alkönyvtárban fájlok vannak, azokat az rm paranccsal törölhetjük le. Az
rm -r könyvtár_névparancs nemcsak a kijelölt könyvtárat törli le, hanem belõle nyíló valamennyi könyvtárat és alkönyvtárat is. Így egy mozdulattal eltakaríthatunk egy egész könyvtárstruktúrát, ezért hát legyünk óvatosak!
A gyökér könyvtárnak nincs neve és szülõ könyvtára. A / jel jelenti a gyökeret (root), alkönyvtárai pedig az usr, home, stb. a /usr, /home, /stb. hivatkozással érhetõk el. Ezt a hivatkozást elérési útvonalnak (pathname) hívják. Ez független attól az alkönyvtártól, amelyikben éppen tartózkodunk. A /usr alkönyvtárnak további alkönyvtárai vannak, például bin, etc, stb. Ezek elérési útvonala /usr/bin, /usr/etc és így tovább.
Ha egy fájlt az aktuális könyvtárból egy másik könyvtárba akarunk másolni vagy mozgatni, meg kell adnunk a cél könyvtár nevét is. Ha a mûvelet tárgyát képzõ fájl nincs az aktuális alkönyvtárban, akkor arról is meg kell adni, hogy melyik könyvtárban találjuk meg. Az alábbi parancs az aktuális könyvtárban lévõ level1 fájlt átmásolja az (aktuális könyvtárból nyíló) mail könyvtárba:
cp level1 mailA következõ példa feltételezi, hogy éppen nem tudjuk, melyik könyvtárban vagyunk, és a gyökérbõl nyíló public/news alkönyvtárból szeretnénk "hazamásolni" (a "home directory"-nkba) a last-news nevû fájlt. Íme:
cp /public/news/last-news $HOMEA $HOME jel a munkakönyvtárunk rövid neve, így nem kell kiírnunk az általában tekintélyes hosszúságú (/public/users/dept/staff/.......)
Az aktuális könyvtárnak is van egy rövidített neve, mégpedig a pont (.). A következõ parancs a /usr/news/legujabb nevû fájt másolja át oda, ahol éppen tartózkodunk -- vagyis az aktuális alkönyvtárba.
cp /usr/news/legujabb .Végül két hasznos parancs: ha elfelejtettük hogy éppen melyik alkönyvtárban vagyunk, akkor a pwd (print working directory) paranccsal megtudakolhatjuk, a paraméterek nélküli cd parancs pedig hazavisz minket a munkakönyvtárunkba (home directory).
cat fájl_névErre a fájl tartalma megjelenik a képernyõn. A cat parancsnak több fájlnevet is átadhatunk, ilyenkor egymás után jeleníti meg a fájlok tartalmát. Ha a szöveg több, mint amennyi egy képernyõn elfér, akkor leszalad a képrõl. Ilyenkor használjuk a more parancsot.
more fájl_névA szövegbõl most egy képernyõnyi rész jelenik meg, a szóköz (space) billentyû lenyomására megmutatja a következõ oldalt. Ha nem akarjuk végignézni az egész fájlt, üssük le a q betût vagy a <Ctrl-c>-t.
Egy fájl elsõ sorait a head programmal lehet megjeleníteni:
head -15 fájl_névA fájl elsõ tizenöt sorát listázza ki. Idõnként szükséges, hogy ne a fájl elejét, hanem a végét tanulmányozzuk. Ezt a tail paranccsal tehetjük meg, ez a példa a szövegfájl utolsó három sorát mutatja meg:
tail -3 fájl_névA wc (word count) parancs megszámolja a szövegfájl sorainak, szavainak és karaktereinek számát: eredményül e három számot írja ki a képernyõre.
wc fájl_névA -l kapcsolót megadva csak a sorok számát írja ki, -w esetén csak a szavak számát, -c-re pedig csak a karakterek számát.
Elsõ lépésként hozzunk létre egy egyszerû szövegfájlt! Ezt úgy tehetjük meg, hogy cat bemenetét nem egy fájlból, hanem a terminálról vesszük; kimenetét pedig nem a terminálra küldjük, hanem egy fájlba. (Minthogy a Unix a terminált is fájlnak nézi, ez nem jelent neki különösebb nehézséget.) Az átirányításról egy késõbbi leckében lesz szó; most elégedjünk meg annyival, hogy a "proba1" nevû fájl létrehozásához a következõt kell begépelnünk a parancssorba:
cat >proba1Ezután kezdjünk el gépelni; a sor végén üssük le az Entert, írjunk újabb sorokat, stb. Ha meguntuk a gépelést és a fájl létrehozását be akarjuk fejezni, akkor lépjünk ki a parancsból, azaz üssük le a <Ctrl-d> billentyûkombinációt.
Most pedig...
************************************************************************* *= =* *= SZERZOI JOGOK =* *= =* *= Ez a dokumentum a Unix operacios rendszer es a szamitogepes =* *= halozatok elterjedeset kivanja elosegiteni, ezert dijmentesen =* *= terjesztheto. Nem szabad azonban a terjesztes soran a szoveget =* *= megvaltoztatni, barmilyen modon megcsonkitani es a szerzoi =* *= jogokra vonatkozo megjegyzest eltavolitani! Sem a dokumentum, =* *= sem annak barmely resze nem hasznalhato fel segedanyagkent vagy =* *= tankonyvkent profitorientalt intezmenyekben vagy tanfolyamokon, =* *= a szerzok elozetes irasbeli engedelye nelkul! =* *= =* *= (C) Csaky Istvan es Mork Peter Miskolc, 1994. januar 19 =* *= =* *************************************************************************