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 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. 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 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.
|
|