lunix.jpg (3550 bytes)

A Unix és a Linux operációs rendszerek

A UNIX

A workstation (munkaállomás) és a main frame (központi állomás) jellegű nagy számítógépek operációs rendszere. (A nagy gépek kb. 3/4 része használja a UNIX típusú operációs rendszert. A többi VM-et, vagy VMS-t.)

Az operációs rendszer feladata: irányítsa a kapcsolatot a felhasználó, a szoftverek és a hardverek között, és a számítógép memóriáját felossza a programok között. Segédprogramokat használ. A UNIX segítségével egyszerre több felhasználó is használhatja ugyanazt a számítógépet.

Hogy a UNIX-ot használhassuk szükségünk van egy azonosítóra (UserID) és egy jelszóra (Password), melyet a rendszergazdától lehet igényelni.

A csatlakozás menete: Kapcsolódás a host-hoz (pl. connect gedeon), a UserID (pl. login: malac) és a password megadása.

A parancsok sorrendje: parancsnév, opciók (kapcsolók), paraméterek (pl. fájlnevek). Ezeket szóköz választja el egymástól. A parancsokat azokban a könyvtárakban keresi, amik a path-ban meg vannak határozva és abban a sorrendben, ahogy ott meg van határozva.

Több parancs egy sorban szerepelhet, pontosveszővel elválasztva. Az opciók kötőjellel kezdődnek. Egy kötőjel után több opciót is meg lehet adni, tetszőleges sorrendben.

Alapfogalmak

Shell – program, mely beolvassa és értelmezi az operációs rendszernek adott parancsokat.

sh – a Bourne shell program neve
ksh – a Korn shell program neve
bash – a Bash shell program neve
zsh – a Zee shell program neve
rc – az rc program neve
csh – a C-shell program neve
tcsh – a tcsh program neve

Bejelentkezéskor elindul egy "login shell". Új shellt a program nevének beírásával lehet elindítani. Ebből kilépve (exit) a login shell jön vissza.

A shellnek vannak beépített parancsai (a bash-nak 50) és külső programjai. A "type parancsnév" mutatja meg, hogy a parancs belső-e.

Prompt – parancsváró jel (C-shellben: %, Korn-shellben: $).

Superuser – a UNIX-ban rendszergazdai jogosultságokkal bír, minden könyvtárat tud használni. Felhasználói azonosítója a root.

Globális változók – a UNIX által lekérdezett adatok. Nevük van és értékük. A nevük mindig nagybetű. A terminál típusa a TERM nevű globális változóban van.

Mezők: egymástól szóközzel elválasztott karaktersorozatok

Job vagy processz: futó program

Daemon: olyan program, mely a háttérben állandóan fut.

UNIX könyvtárak

A könyvtárakat / jel választja el egymástól. A gyökérkönyvtár jele a /. Könyvtárra hivatkozni tetszőleges más könyvtárból a gyökérkönyvtáron keresztül lehet. pl. /usr/bin bárhonnan.

Az aktuális (munka) könyvtár jele a "."

A home könyvtár jele "~"

/ gyökérkönyvtár
/bin bináris programok (legfontosabb futtatható programok) könyvtára. Itt vannak a shellek.
/bin/ksh a Korn shell
/dev eszközfájl-okat (terminálok, diszkek, CD-olvasók) leíró állományok
/etc rendszeradminisztrációs fájl-ok
/lib programozók által használható függvénykönyvtárak
/lost+found olyan állományok kerülnek ide, amelyek valahogy kikerülnek a helyükről
/sbin rendszermenedzsment programok
/sys a forrásállományokat tartalmazza
/tmp átmeneti tárolásra szolgáló könyvtár, néha törlődik
/usr a felhasználói fájl-rendszer, munkakönyvtárak…
/usr/adm rendszer-adminisztrációs fájl-ok
/usr/bin a felhasználók futtatható fájl-jai
/usr/dict szólista a unix által használt szavakról
/usr/games játékok
/usr/include programozók által használható előre definiált utasítások
/usr/lib programozók által használható adatok, programkönyvtárak
/usr/local nyílvános dolgok (hírek, helyi programok, dokumentációk)
/usr/man a segítő dokumentáció a man parancshoz
/usr/catman a segítő dokumentáció nyomtatható, formázott változatban
/usr/spool a kommunikációs programok munkakönyvtárai, ideiglenes tárolásra szolgálnak (levél küldésekor, nyomtatáskor… ) (vagy /var -ként szerepel)
/usr/spool/contrab a cron processz által periodikusan végrehajtandó parancsok listája
/usr/spool/mail a felhasználók postaládája (az INBOX-ban lévő levelek) (vagy /var/spool/mail)
/usr/src forrásnyelvű programokat tartalmaz, ebben vannak a Unix eredeti (C-ben írt) programjai
/usr/tmp átmeneti tárolásra szolgál
/usr/ucb a Berkely Unix programjai

Fájlok

A kis és a negybetűk különböznek a parancsokban és a fájlnevekben. Nem ugyanaz a "Valami" és a "valami" fájl. A fájl neve maximum 255 karakter lehet és a / -n kívül tetszőleges karaktert tartalmazhat (pl. több . is lehet benne). Általában kisbetűket szokás használni, nagybetűket csak akkor, ha fontos állományról van szó (így a listán előrébb lesz).

Minden fájl névhez tartozik egy indexszám. A fájl-ok indexei az úgynevezett inode struktúrában helyezkednek el. A könyvtár(fájl)ban a fájl neve és az indexszáma található, ez alapján található meg az inode struktúrában, hogy a fájl hol található meg a lemezterületen, milyen jogosultságai vannak, mikor lett ultoljára módosítva. A fájlnév és az indexe közötti kapcsolat a link (lényegében a fájl-t és a nevét kapcsolja össze). Egy indexhez több fájlnév is tartozhat (létrehozás az ln paranccsal). A fájl akkor törlődik le, ha az utolsó indexéhez vezető link is letörlődik. Könyvtárhoz nem hozható létre link.

A fájl paraméterei (ls -l paranccsal tekinthető meg):

A fájl-ok attribútumai (10 karakteres jel):

első karakter: d – könyvtár, - fájl, l - szimbolikus (soft) link.

2-4 karakter: A tulajdonos (user) jogai. r – olvasható (a fájl olvasható, másolható, a könyvtár kilistázható),w – írható (fájl és könyvtár készíthető, módisítható, törölhető), x – végrehajtható (fájl futtatható, könyvtárba be lehet lépni), - ezen jogosultságok hiánya.

5-7 karakter: A tulajdonossal azonos csoportban lévők jogai (group).

8-10 karakter: A más csoportban lévők jogai (other).

11. karakter: a fájl-ra mutató linkek száma

a fájl tulajdonosa

a fájl tulajdonosának csoportja (pl. users, root...)

a fájl karaktereinek száma (=byte-ok száma)

az utolsó módosítás időpontja

a fájl neve és kiterjesztése

fájl típusok

ASCII – szöveges fájl, egy karakter 1 byte-on helyezkedik el, de csak 7 bites az információ, a bal szélső bit mindig 0.

Bináris – nem szöveges állomány, minden bit információt hordoz.

A ponttal kezdődő fájl-ok és könyvtárak rejtett állományok (dotfájl)

xxxxx.c – C nyelvű program-fájl

xxxxx.Z – A compress paranccsal tömörített fájl

Wildcardok (joker karakterek) – * tetszőlegesen hosszú, állhat elöl is, ? egy karakter. [ ] a zárójelben lévő karakterek közül egyre illeszkedik. {} a zárójelben lévő, vesszővel elválasztott minta-listát használja (pl. ls /usr/{bin,local,tln} – mindhárom alkönyvtárat listázza)

A ' jel között lévő szöveget mindenképpen szövegként értelmezi (pl. rm '/aron' – az /aron nevű fájl törlése, cat > 'ez fájl' – a fájl nevébe szóközt tesz)

Speciális fájlok:

A gyökérkönyvtárban (/):

Kernel: a Unix alapprogramja (pl. vmunix, unix)

A /dev könyvtárban:

ttyxx – a terminálokat ábrázoló állományok (cp level /dev/tty01 – a level fájl-t a tty01 terminál képernyőjére írja)

null – fekete lyuk, üres állomány olvasáskor, elnyeli az adatot, ha output.

Az /etc könyvtárban:

.profile – belépéskor elinduló állomány

termcap vagy terminfo – a használható terminálok jellemzői

passwd – a felhasználók adatai:usernév, titkosított jelszó, felhasználó azonosító, csoport azonosító, név, home könyvtár, kezdeti shell. Ha nincs megadva a jelszó, anélkül lehet először belépni.

group – a csoportok adatai: csoportnév, csoportjelszó, csoportazonosító, felhasználók listája

shells – az elérhető shell-típusok listája

inittab – a különböző szinteken elérhető felhasználók és eszközök száma (terminálok)

rc – rendszerindítás után futó beállító parancs

mtab – a mount parancs által használt fájl

utmp – a bejelentkezett felhasználók listája

A /usr könyvtárban:

/usr/dict/words – angol szótár (szólista abc rendben)

/usr/include/signal.h – a processzeknek küldhető szignálok teljes listája

A /home/felhasználó könyvtárban:

.profile, .login, .bash_login, .cshrc – belépéskor elinduló program

.bash_logout – kilépéskor elinduló program

.signature – állandó szignó használata

.plan – a finger parancsra látható szöveg

.project – a finger parancsra látható szöveg

.finger – levél-továbbítási címet tartalmaz

.inputrc – megváltoztatott billentyűdefiníciókat tartalmaz

.newsrc – információk a használt Usenet hírcsoportokról

.mailrc – a mail program információi

.pinerc – a pine program információi

.exrc – a vi editor információi

fájlba és programba irányítás

standard output – egy program kimenete (pl. monitorra)

standard input – egy program által felhasználandó adatok forrása (billentyűzet, fájl)

szűrő – olyan program, mely a standard inputról olvas adatokat és a kimenetet a standard outputra irányítja.

A cat az a parancs, amely a standard inputról adatokat másol a standard outputra.

parancs > fájlnév – a parancs kimenetének fájlba irányítása

>! mindenképpen felülír

parancs >> fájlnév – a parancs kimenetének hozzáírása a fájl-hoz

>>! mindenképpen hozzáír

parancs | parancs – program kimenetének és másik program bemenetének összekapcsolása

parancs < fájlnév – a parancs az általa felhasznált adatokat a fájl-ból veszi

példák:

sort > fájl

sort | lpr

sort < data > ujdata – a data-ban lévő sorokat abc sorrendben másolja az ujdata fájlba.

cat adat | sort | tee fájlnev | lpr – az adat fájlban lévő sorokat abc-be rendezi, majd elmenti a fájlnev nevű fájl-ba és megküldi nyomtatóra is.

fájl-ok és könyvtárak jogosultságai

Egy fájl-nak három fajta jogosultsága van: olvasási (read), írási (write), végrehajtási (exicute).

Olvasási jog: elolvashatjuk a fájl tartalmát, másolhatjuk

Írási jog: a fájl-ba lehet írni

Végrehajtási jog: a fájl futtatása végrehajtható (csak program, vagy script fájl szokott futtatható lenni)

A hozzáférési jogok három csoport részére definiálhatóak: a felhasználó, a csoportja és mindenki más.

A három csoport egymásban szerepel, ha mindenkinek joga van valamihez, akkor a csoportnak is joga van, ha a csoportnak joga van, akkor a felhasználónak is van.

A fájl jogosultságait csak a tulajdonos és a rendszergazda változtathatja meg.

A fájl módosításához írási és olvasási jog is kell.

Shell script futtatásához olvasási és végrehajtási jog is kell.

Írásjog hiánya esetén törléskor vagy átnevezéskor szándékmegerősítést kér a program.

fájl létrehozásakor szövegszerkesztővel csak írási és olvasási joga lesz mindenkinek. Futtatható fájlnak és könyvtárnak minden jogot megad mindenkinek. Ebből a jogból (666 és 777) vonódik le új fájl létrehozásakor az a mód, ami a umask-ban be van állítva (a .profile fájl-ban).

Könyvtárak esetében (mivel a könyvtárak fájl-ok, ugyanúgy lehet rájuk is értelmezni a jogokat):

Olvasási jog: a fájl-ok nevei olvashatóak a könyvtárban

Írási jog: a könyvtár módosítható, új fájl létrehozható, másolható, átnevezhető, törölhető

Végrehajtási jog: a könyvtárban lehet keresni

Végrehajtási jog nélkül nem lehet a könyvtárba lépni a cd paranccsal (de listázható az ls könyvtárnév paranccsal, ha olvasható)

Processzek és jobok

Egy processz (futó program) előtérben (foreground) és háttérben (background) futhat. A háttérben futtatáshoz a parancssor után a & jelet kell beírni. Pl:

sort < fájl1 > fájl2 &

A háttérben futó processzeknek létezik egy processz-azonosítója (PID). Létezik egy job azonosítója is, ez az egymással párhuzamosan futó processzeket különbözteti meg egymástól (1, 2,...).

Amikor a háttérprocessz befejeződik, üzenetet küld a job-azonosítóval jelölve ([1] Done sort < fájl1 > fájl2). Háttérben csak olyan programot érdemes futtatni, mely nem használja sem a billentyűzetet, sem a monitort.

Job vezérlés:

Futó processz felfüggesztése ctrl+z -vel történhet.

A jobokról a jobs parancs ad információt.

A felfüggesztett jobok a fg %jobszám parancsra indíthatóak el újra az előtérben és bg %jobszám paranccsal a háttérben.

hflag.jpg (439 bytes)LinuxBázis
Linux lap
Orlando UNIX iskola
UNIX speci (ELTE)
Linux felhasználók köre
Linux klub - Szolnok

netlogo.jpg (1407 bytes)

UNIX parancsok magyarul

Billentyűparancsok

Shell változók

Reguláris kifejezések

Lapozó-programok