Programozás alapjai II. UNIX alapok



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

Programozás alapjai 2 UNIX dióhéjban

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

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

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

Linux fájlrendszerek.

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

Operációs Rendszerek II. labor alkalom

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

Bevezetés a UNIX rendszerekbe

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

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

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

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

Operációs rendszerek 1.

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

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

chmod umask chown, chgrp

Számítógépes alapismeretek

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

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

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

Á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

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.

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

Digitális technika (VIMIAA01) Laboratórium 1

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

A héj vezérlő szerkezetei I.

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

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

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

Operációs rendszerek gyak.

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

Linux bevezető (jegyzet)

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

OPERÁCIÓS RENDSZEREK II GYAKORLAT

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

Operációs rendszerek gyakorlat

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

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

Vasúti információs rendszerek gyakorlat

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

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

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

Elektronikus öltözőszekrényzárak

Operációs rendszerek gyakorlat

2011. március 9. Dr. Vincze Szilvia

Planet Me blog aggregátor létrehozása

Szkriptnyelvek. 1. UNIX shell

Az informatika oktatás téveszméi

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

Tartalomjegyzék. Tartalom 1/16

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

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

A sed folyamszerkesztő

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

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:

UNIX folyamatok kommunikációja

I. Felzárkoztató Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

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

EPER E-KATA integráció

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

Az új modulrendszer tapasztalatai

FTP-kapcsolat létrehozása FlashFXP alatt

E-ADÓ RENSZER HASZNÁLATI ÚTMUTATÓ

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

SAP JAM. Felhasználói segédlet

Dr. Kulcsár Gyula. Virtuális vállalat félév. Projektütemezés. Virtuális vállalat félév 5. gyakorlat Dr.

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

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

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

1_Linux_bevezeto_bash

Operációs Rendszerek II. labor. 2. alkalom

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

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

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

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

Dr. Iszály György Barna

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

PCLinuxOS Magazine május

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

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

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

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

Project Management

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

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

OmniTouch 8400 Instant Communications Suite 4980 Softphone

Az Európai Szabadalmi Egyezmény végrehajtási szabályainak április 1-étől hatályba lépő lényeges változásai

Az Intel gyorsindító készlete a Linux*-hoz v1.2 Gyorstájékoztató. Megrendelési szám: C

Számítógép Architektúrák. 4. Gyakorlat

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

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

Operációs rendszerek I. IIII. gyakorlat

Youtube videó letöltés és konvertálás Linuxon

Párhuzamos programozá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.

Átírás:

Programozás alapjai II. UNIX alapok Szeberényi Imre BME IIT <szebi@iit.bme.hu> M Ű E G Y E T E M 1 7 8 2 UNIX alapok BME-IIT Sz.I. 2015.02.10. - 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 (közel 50 é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 é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ő kezelése 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 kötet 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 -

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

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

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

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

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) - 31 -

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

Shell állománynév helyettesítés FONTOS: állománykezelő szinten nincs kiterjesztés, ezért a. (pont) a név része. prog * prog? prog [abc] prog [a-z] prog ~/file - tetszőleges számú bármi - 1 db bármi - a, vagy b, vagy c - egy az a-z intervallumból - home_kat/file prog ~user_nev/file - user_home_kat/file - 33 -

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**" - 34 -

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

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

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" - 38 -

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

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

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

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

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, GITHUB, GITLAB UNIX alapok BME-IIT Sz.I. 2015.02.10. - 43 -

Verziókezelő rendszerek/2 Jellemző életciklus: R.L.b.l 1.3.2.1 1.3.2.2 1.1 1.2 1.3 2.1 4.12 1.3.1.1 1.3.1.2 Távoli tároló: Lokális másolatok: - 44 -