Programozás alapjai II. UNIX alapok. Legfontosabb tulajdonságai. Legfontosabb tulajdonságai/2



Hasonló dokumentumok
Programozás alapjai II. UNIX alapok

Legfontosabb tulajdonságai. Programozás alapjai II. UNIX alapok. Legfontosabb tulajdonságai/2. A UNIX rövid története. A UNIX rövid története/2

Programozás alapjai 2 UNIX dióhéjban

Legfontosabb tulajdonságai. Programozás alapjai 2 UNIX dióhéjban. Legfontosabb tulajdonságai/2. A UNIX rövid története.

Programozás alapjai 2 UNIX dióhéjban. Legfontosabb tulajdonságai. Legfontosabb tulajdonságai/2

Legfontosabb tulajdonságai. UNIX rendszer felhasználói és fejlesztői felülete (1-4. ea.) Unix hagymahéj struktúrája. Legfontosabb tulajdonságai

Programozás alapjai óra. Morvai Flórián, 2010 Dr. Dévényi Károly előadásvázlata alapján

Fordítóprogramok Készítette: Nagy Krisztián

UNIX operációs rendszer rövid története és jellemzői

Operációs Rendszerek II. labor alkalom

Linux fájlrendszerek.

A táblázatkezelő felépítése

chmod umask chown, chgrp

S z á m í t ó g é p e s a l a p i s m e r e t e k

Tartalom. 1. A dokumentum célja... 2

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

2016/06/09 13:15 1/108 Linux parancssor

Bevezetés a UNIX rendszerekbe

Számítógépes alapismeretek

Operációs Rendszerek példatár. Utolsó frissítés: február 10.

Operációs rendszerek 1.

Operációs rendszerek 2 3. alkalom - Reguláris kifejezések, grep, sed. Windisch Gergely windisch.gergely@nik.uni-obuda.hu

Dial-UP Kapcsolat létrehozása angol nyelvű Windows 2000 alatt

AWP TELEPÍTÉSE- WINDOWS7 64 OPERÁCIÓS RENDSZEREN

Felhasználói Kézikönyv Kisbanki NetBOSS - IVR

EPER E-KATA integráció

Operációs rendszerek gyak.

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

A héj vezérlő szerkezetei I.

2011. március 9. Dr. Vincze Szilvia

Linux bevezető (jegyzet)

Árverés kezelés ECP WEBSHOP BEÉPÜLŐ MODUL ÁRVERÉS KEZELŐ KIEGÉSZÍTÉS. v ECP WEBSHOP V1.8 WEBÁRUHÁZ MODULHOZ

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

Számítógépek, számítógép rendszerek

A Felhasználónév és Jelszó mezőkbe írjuk be az adatainkat, majd kattintsunk a Bejelentkezés gombra, vagy üssük le az Enter billentyűt.

Informatika szintmérő-érettségi tételek február

Az állományok kezelésére használt fontosabb parancsok

OPERÁCIÓS RENDSZEREK 1. ÁTIRÁNYÍTÁSOK, SZŰRŐK

A döntő feladatai. valós számok!

Operációs rendszerek gyakorlat

IDE64 dokumentáció. A merevlemez előkészítése az első használatra. 1. Előkészítés. 2. Csatlakoztatás. 3. Segédprogram másolás

Shared IMAP beállítása magyar nyelvű webmailes felületen

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés

Szkriptnyelvek. 1. UNIX shell

Prop-Tech. Vázmérő. Telepítési és eltávolítási útmutató

OPERÁCIÓS RENDSZEREK II GYAKORLAT

Adatok ábrázolása, adattípusok. Összefoglalás

A WEBES FELÜLET HASZNÁLATA. Munkáltatói oldalról. Fejér Megyei Kormányhivatal Munkaügyi Központja Székesfehérvár 2011.

Számítógépes vírusok

Unix/Linux alapok. Operációs rendszerek I. készítette: Bringye Zsolt, Kozlovszky Miklós, Póserné Oláh Valéria, Windisch Gergely

Lineáris algebra gyakorlat

Operációs rendszerek gyakorlat

Tartalomjegyzék. Tartalom 1/16

OmniTouch 8400 Instant Communications Suite 4980 Softphone

Planet Me blog aggregátor létrehozása

Az új modulrendszer tapasztalatai

Közbeszerzési Értesítő száma: 2016/75. Eljárás fajtája: Közzététel dátuma: Iktatószám: 7466/2016 CPV Kód:

Az időhöz kötődő parancsok

Elektronikus öltözőszekrényzárak

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

Digitális technika (VIMIAA01) Laboratórium 1

Unix történet. megvalósítások gyártónként különböznek

Page 1. Unix történet. A Unix felépítése. Unix felhasználói felületek. Felhasználók. Logikai file rendszer egységes directory struktúra

Laborgyakorlat Windows 7 upgrade-je, felhasználói adatok költöztetése

Dr. Iszály György Barna

Vodafone GPRS Kapcsolat létrehozása Win2000 alatt a Connect Me használata nélkül

Az informatika alapjai. 10. elıadás. Operációs rendszer

Számítástechnika-kidolgozott szóbeli tételek (11-15.)

TOVÁBBI INFORMÁCIÓT TARTALMAZÓ HIRDETMÉNY, BEFEJEZETLEN ELJÁRÁSSAL KAPCSOLATOS INFORMÁCIÓ VAGY KORRIGENDUM

Korrigendum - Fővárosi Önkormányzat Idősek Otthona - földgáz energia beszerzése

118. Szerencsi Többcélú Kistérségi Társulás

A Unix operációs rendszer és testvérei

Fájl rendszer. Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika

Példa: Aktuális könyvtár tartalmának fájlba mentése, melynek neve az aktuális dátum és idő: ls l > `date+%f_%h-%m`.txt

Segítünk online ügyféllé válni Kisokos

FTP-kapcsolat létrehozása FlashFXP alatt

S z á m í t ó g é p e s a l a p i s m e r e t e k

1. forduló. MEGOLDÁSOK Pontszerző Matematikaverseny 2015/2016-os tanév

Programozás I gyakorlat

Vasúti információs rendszerek gyakorlat

Hálózatok építése és üzemeltetése

Operációs rendszerek. 3. gyakorlat: UNIX rendszergazdai ismeretek 3

SAP JAM. Felhasználói segédlet

Erste MobilBank Felhasználói kézikönyv

ÁFA felhasználói dokumentum Lezárva:

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

6. SZÁMÚ FÜGGELÉK: AZ E.ON ENERGIASZOLGÁLTATÓ KFT. ÁLTAL E.ON KLUB KATEGÓRIÁBA SOROLT ÜGYFELEKNEK NYÚJTOTT ÁRAK, SZOLGÁLTATÁSOK

Vektoros elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

A C programozási nyelv VI. Parancssori argumentumok File kezelés

DB2 Connect Personal Edition telepítése és beállítása

I. Internet Bank forint eseti átutalási megbízásokhoz használt import adatállomány szerkezete

Az informatika oktatás téveszméi

CAD-CAM

Tanúsítvány és hozzá tartozó kulcsok feltöltése Oberthur kártyára és Oberthur SIM termékre

Virtuális magánhálózat, erőforrás kapacitásbérlés és üzemeltetési szolgáltatása DAKK Zrt-nél.

Párhuzamos és Grid rendszerek. Hol tartunk? Klaszter. Megismerkedtünk az alapfogalmakkal,

Kép részlet kivágás útvonalak létrehozása és szerkesztése útvonalak kijelöléssé alakítása Kijelölés > Lágy szél

Számítógép-hálózatok Egyéni Feladat

Vegyes tételek könyvelése felhasználói dokumentum Lezárva:

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Átírás:

Programozás alapjai II. UNIX alapok Szeberényi Imre BME IIT <szebi@iit.bme.hu> M Ű E G Y T E M 1 7 8 2 UNIX alapok BME-IIT Sz.I. 2011.02.08. -1 - Legfontosabb tulajdonságai többfelhasználós (multiuser) időosztásos (time sharing) hardware független nyílt rendszer gyártófüggetlen protokollokon, eljárásokon, és szabványokon alapul. nem kötődik egyetlen gyártóhoz sem -2 - Legfontosabb tulajdonságai/2 szorosan kötődik az Internet technológiákhoz mikroszámítógéptől mainframe-ig és szuperszámítógépig minden hardware platformra implementálták sok segédprogram, melyek lehetővé teszik komplex feladatok megoldását is I/O eszközök egységes kezelése hierarchikus állományrendszer -3 -

A UNIX rövid története A UNIX nem új, de mindig megújul (több mint 40 éves) Bell Laboratories (1968-1974) Saját célra szoftver fejlesztői környezet. (Denis Richie, Ken Thompson, PDP-7) V6, V7 (C nyelv); Egyetemek, kutatóintézetek (sok ötlet, felhasználók igényei szerint, inkompatibilitás). -4 - A UNIX rövid története/2 két fő irányzat: AT&T SystemV, BSD minden nagy gyártó saját implementációval rendelkezett (SVR4,OSF/1, BSD, Linux) szabványosítási törekvések (Posix, X/Open portability guide) legnépszerűbb PC-n futó változatai: Linux, FreeBSD, SCO, Solaris -5 - Bejelentkezés Felhasználó azonosítás grafikus, vagy alfanumerikus felületen keresztül: login password Jelszó változtatás: passwd Kedvelt ssh kliens a putty fontos a helyes beállítás: keyboard char set (translation) -6 -

Bejelentkezés/2 Bejelentkezés után normál esetben a login v. home katalógusban elindul a parancsértelmező (shell). Ez a értelmezi a felhasználói parancsokat és indítja a további processzeket (processz = futó program). Több shell alakult ki, melyek elsősorban programozói szempontból különböznek. A parancsértelmező felület kezelése igen kényelmetlen, ha nincs rendesen beállítva a környezet. Nagyon fontos a terminál típusának beállítása ill. összhangja a teminálemulátorral. (set term=, TERM=) -7 - stty Minden terminálkapcsolat (session) önálló beállításokkal rendelkezik. A legfontosabbak: üzemmód raw, cooked, icanon input karakterek kezelése echo, echoe, echok, onlcr output kar. kezelése speciális karakterek erase (^H), kill (^U), intr (^C), quit(^\) susp (^Z) eof (^D), start (^Q), stop(^s) -8 - stty/2 A képernyő-orientált programok mindent maguk intéznek (raw mód), míg a sor orientált programok a sor javítását, szerkesztését a terminálkezelőre bízzák (cooked mód). FONTOS tudni, hogy a bash maga intézi a sor javítását, ezért előfordulhat, hogy a bash-ban megy a, de más program használatakor (pl. cat) nem! -9 -

stty/3 A jelre a terminálemulációk általában ^H-t adnak, de néha ^?-t. A bash mindkettőre visszalép, de a terminálkezelő csak az erase karaktert figyeli. stty all Beállítás: (célszerű sh-t indítani előtte) stty erase ^H stty erase ^? - 10 - A UNIX állományrendszere Az állományrendszer hierarchikus, fa Legfontosabb tulajdonságok: egyetlen gyökér (root) van a rendszerben, a kötetek (adathordozók) számától függetlenül Fájlok legfontosabb csoportja: egyszerű (plain) (jele: -) katalógus (directory) (jele: d) periféria (device) (jele: c vagy b) további csoportok: socket (jele: s) named pipe (jele: p) szimbolikus link (jele: l) - 11 - A UNIX állományrendszere/2 Katalógusok, perifériák is fájlként látszanak, általában teljesen azonos módon kezelhetők az egyszerű állományokkal (ugyanazok a rendszerhívások: open, close, read, write, stb.) Állományokat sem tartalmuk, sem nevük alapján nem kell megkülönböztetni (azaz: nincs külön szöveg fájl vagy bináris fájl, nem a fájl neve vagy kiterjesztése határozza meg a fájl funkcióját) - 12 -

A UNIX állományrendszere/3 A fa struktúrában keresztkapcsolatok (link) hozhatók létre. A link két változata: Hard link Szimbolikus link A fájlok elnevezési szabályai rugalmasak Az állományrendszer működését beépített cache gyorsítja (buffer cache) - 13 - Védelmi rendszer Többfelhasználós rendszer, védeni kell: fájlok adatait processzek adatait A védelem kiterjed: olvasásra írásra végrehajtásra - 14 - Védelmi rendszer/2 A bejelentkezéskor felhasználó azonosítás történik és meghatározásra kerül az adott felhasználó UID-ja (felhasználó azonosító) GID-je (csoport azonosító) (A felhasználók csoportokba oszthatók. Egy felhasználó több csoportba is tartozhat) A felhasználó által létrehozott minden processz ezt örökli. - 15 -

Védelmi rendszer/3 Minden állománynak van: tulajdonosa (rendszerint aki létrehozta) felhasználói csoportja legalább 3x3-as védelmi kódja Ez utóbbi megadja, hogy a tulajdonos csoporttárs bárki más milyen műveletet végezhet az állományon. - 16 - Védelmi rendszer/4 Állományokon végezhető műveletek: olvasás (r) írás (w) végrehajtás/keresés (x) Az ls parancs a védelmi kódot betűkkel jeleníti meg pl: -rwxr-xr-- 1 joska tanulo... - 17 - Védelmi rendszer/5 Védelmi szempontból a katalógusok nem különböznek a fájloktól. A katalógust egy cédulának kell tekinteni, amire a fájl neve van felírva. Egy fájl védelme nem függ az azt tartalmazó katalógus védelmétől. Pl: drwxrwxrwx 2 joska.... munka -r--r--r-- 1 joska.... levelem - 18 -

Védelmi rendszer/6 Az előzőek alapján a fájl módosításához nem kell írási jog a befogadó katalógusra. Pl: dr-xr-xr-x 2 joska.... munka -rw-rw-rw- 1 joska.... levelem - 19 - Védelmi rendszer/9 umask Alapvetően kényelmi szerepe van a védelmi rendszerben. Az állomány létrehozásakor korlátozza (maszkolja) az új fájl védelmi kódját. A 3x3 bites védelmi kódot oktális számként kiolvasva pl. az rw-rw-rwvédelemnek a 666-os oktális szám felel meg. Fájl létrehozásakor az előírt védelmi kódból az umask által megjelölt bitek törlődnek. - 20 - umask példa umask 022 (oktális); creat(file, 0666) 0666 0022 0644 Az általános célú programok 0666-tal hozzák létre az állományokat, így az umask fog korlátozni. Ez történik pl. az output átirányításkor is. Pl: ls > proba Ez csupán KÉNYELMI funkció, hiszen a tulajdonos bármikor megváltoztathatja a védelmi kódot. - 21 -

chmod parancs chmod okt_szám file1 file2... chmod oug+-=rwxstougx file... Pl: chmod 640 uborka chmod -w korte chmod g+w alma chmod oug=rw - 22 - Fájlkezeléssel kapcs. parancsok cd (change dir) katalógus váltás pwd (print w. dir.) munkakatalógus kiírása mkdir (make dir.) katalógus létrehozása rmdir (remove dir.) katalógus törlése ls (list) katalógus lista cp (copy) fájl(ok) másolása rm (remove) fájl(ok) törlése mv (move) fájl(ok) áthelyezése ln (link) fájl hivatkozás készítés ln s szimbolikus hivatkozás készítése - 23 - Fájlkezeléssel kapcs. parancsok/2 chmod (ch. mode) védelmi kód változtatás chown/chgrp tulajdonos megváltoztatás mount/umount csatlakoztatás Sok fájkezeléssel kapcsolatos parancs r ( R) kapcsolóra rekurzív lesz (pl. cp) - 24 -

On-line manual man man man man k man 1 cp, vagy man s 1 cp GNU: info - 25 - Shell Parancsértelmező (shell) értelmezi a felhasználói parancsokat. Ez független attól, hogy grafikus, vagy alfanumerikus felületen dolgozunk. Több shell alakult ki, melyek programozói szempontból és a kényelmi szolgáltatásokban különböznek. - 26 - Legelterjedtebb Shell változatok Legelterjedtebb változatok: Bourne Shell (sh) Bourne Again Shell (bash) C Shell (csh) tcsh Korn Shell (ksh) zsh Visual Shell (vsh) Midnight Commander (midc,mc) - 27 -

Shell legfontosabb tulajdonságai Parancsértelmező és programozási nyelv. Egyszerűen kialakítható ún. shell szkript vagy parancs fájl, amivel a parancskészlet bővíthető. Egyszerű szintaxis a standard input-output átirányítására. Csővezeték segítségével komplex feladatok megoldása a meglevő segédprogramokkal. Egyénileg konfigurálható, testre szabható. - 28 - Shell-ek beállítása Több jól definiált ponton speciális parancsállományok futtására van lelhetőség: login start logout távoli vagy nem interaktív - 29 - Shell-ek beállítása/2 shell login start logout rsh, nem interakt. sh /etc/profile $HOME/.profile ksh /etc/profile $HOME/.profile csh /etc/csh.cshrc /etc/csh.login ~/.cshrc ~/.login /etc/csh.cshrc ~/.cshrc /etc/csh.logout ~/.logout /etc/csh.cshrc ~/.cshrc tcsh bash /etc/csh.cshrc /etc/csh.login ~/.tcshrc ~/.cshrc ~/.login /etc/profile ~/.bash_profile ~/.bash_login ~/.profile /etc/csh.cshrc ~/.tcshrc ~/.cshrc /etc/csh.logout ~/.logout /etc/csh.cshrc ~/.cshrc ~/.bashrc ~/.bash_logout $BASH_ENV ~/.bashrc - 30 -

Parancsok általános felép. parancs kapcsolók argumentumok... Kapcsolók: parancs működését, eredményét módosító paraméterek. Többnyire " "-szal kezdődnek. (ls l). Általános szabály, hogy ha a fájlnév helyén áll, akkor az a szabványos be/kimenetet jelöli. (pl: cmp f1). - 31 - Parancs és parancssor Egy parancssor több parancsot is tartalmazhat. prog1 ; prog2 prog1 prog2 prog1 && prog2 Sőt egy parancssor több sorból is állhat. (folytatósor) Egy parancs is lehet többsoros (pl: for) - 32 - Shell I/O átirányítás prog > file prog >> file prog < file prog << VEGE ezt a prog megkapja a standard bemenetén a VEGE végjelig. Ez a here dokumentum. VEGE prog1 prog2-33 -

Shell állománynév helyettesítés FONTOS: állománykezelő szinten nincs kiterjesztés, ezért a. (pont) a név része. prog * -tetszőleges számú bármi prog? - 1 db bármi prog [abc] - a, vagy b, vagy c prog [a-z] - egy az a-z intervallumból prog ~/file - home_kat/file prog ~user_nev/file - user_home_kat/file - 34 - Shell állománynév helyettesítés/2 Nincs korlátozás a helyettesítő karakterek alkalmazására. ls A?[0-9]*z ls ~/**A** Ha a programra szeretnénk bízni a kezelést, le kell takarni. ls **A** - 35 - Speciális jelentés megszüntetése Szinte minden jel speciális: *? [ ] < > & $ { } ; ( ) ' " ` \ ' " ` \ $ * ' t n n n n n " n t i i i n ` i i t i i i t n i terminális nem értelmeződik speciálisan értelmeződik - 36 -

Shell parancshelyettesítés Lehetővé teszi, hogy egy program kimenete a másik program indítási paramétere legyen: prog1 `prog2` more `grep -l alma *.txt` - 37 - Reguláris kifejezések Szövegfeldolgozás jellemző feladat a programfejlesztői környezetekben. A szövegre illeszkedő minta egységes megadására találták ki. Segítségével bonyolult minták és illesztési szabályok adhatók meg. Sajnos nem teljesen egységes, mert van egy bővített változata is. - 38 - Reguláris kifejezések/2 c önmagát a c karaktert jelenti. \c "c", ha c nem számjegy és nem (, ), {, }. ^ sor elejére illeszt. $ sor végére illeszt.. egy db tetsz. kar. (kivéve újsorjel). [abc] "a", "b", vagy "c" [^abc] bármi ami nem "a", "b", vagy "c" - 39 -

Reguláris kifejezések/3 r* r atom nullaszor vagy sokszor ismétlődhet r1r2 r1 és r2 atom egymás után illesztendő úgy, hogy r1 a lehető leghosszabban illeszkedjék. r+ r atom egyszer vagy sokszor ismétlődhet r? r atom 0-szor vagy 1-szer ismétlődhet r1 r2 r1 vagy r2 atom közül csak az egyiknek kell illeszkednie Ez utóbbi 3 csak egrep, awk, lex, perl esetében - 40 - Reguláris kifejezések/4 \(r\) r reguláris kifejezésre később hivatkozni lehet a \n alakban, ahol n egy számjegy. \n hivatkozás az n. \(r\) alakú reguláris kif.-re r\{m,n\} r atom minimum m-szer, de maximum n-szer ismétlődhet r\{m\} r atom pontosan m-szer ismétlődhet r\{m,\} r atom legalább m-szer ismétlődhet Ezek csak ed, sed és perl esetében. - 41 - Reguláris kifejezés példák Az alma azt jelenti, hogy az alma minta a soron belül bárhol előfordulhat. A ^alma előírja, hogy az alma mintának a sor elején kell előfordulnia. A ^[mh]?alma azt jelenti, hogy sor elején alma vagy malma vagy halma mintának kell előfordulnia. - 42 -

Reguláris kifejezés példák/2 A ^[^mh]alma azokra a sorokra illeszkedik, amelyen nem malma, vagy halma sorozattal kezdődnek, de?alma mintával kezdődnek. A ^\([abc]\)\1 azokra a sorokra illeszkedik, amelyek vagy aa, bb vagy cc kezdetűek. (\1 szerepe itt az, hogy az [abc] szabad paraméterek közül az aktuálisan illeszkedőt kijelölje. - 43 - Verziókezelő rendszerek Együtt kezelik különböző verziókat. Nincs szükség változatos nevű állományokra. Vannak operációs rendszerek, melyek ehhez támogatást adnak, de... Segítik a verziók adminisztrálását SCCS RCS CVS SVN GIT, HG UNIX alapok BME-IIT Sz.I. 2011.02.08. - 44 -