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

Hasonló dokumentumok
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 II. UNIX alapok. Legfontosabb tulajdonságai. Legfontosabb tulajdonságai/2

Programozás alapjai II. UNIX alapok

chmod umask chown, chgrp

Operációs rendszerek 1.

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

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

Operációs rendszerek gyakorlat

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

Munka állományokkal. mv: áthelyezés (átnevezés) rm: törlés. rmdir: üres könyvtár törlése. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)

Operációs rendszerek I. IIII. gyakorlat

Operációs rendszerek gyakorlat

Számítógépes alapismeretek

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

Munka állományokkal. mv: áthelyezés (átnevezés) rmdir: üres könyvtár törlése rm: törlés. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)

Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

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

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

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

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

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

Szkriptnyelvek. 1. UNIX shell

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 10. gyakorlat. AWK - bevezetés UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek gyakorlat

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

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

Operációs rendszerek gyakorlat

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

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

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

1. Alapok. #!/bin/bash

Unix-Linux alapok I. gyakorlatvezető: Lutár Patrícia

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

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

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

1_Linux_bevezeto_bash

Hálózati adminisztráció Linux (Ubuntu 8.04) 7. gyakorlat

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

Bevezetés a UNIX rendszerekbe

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

Operációs Rendszerek II. labor alkalom

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

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

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

Operációs Rendszerek. Windows Parancssor

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

BASH SCRIPT SHELL JEGYZETEK

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

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


BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!

Bevezetés a UNIX. operációs rendszerbe

Tájékoztató. Használható segédeszköz: -

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

Programozás alapjai gyakorlat

Operációs rendszerek 2 1. óra: Linux alapok Ismétlés. Windisch Gergely félév

Készítette: Csatlós István 2010-ben

Operációs rendszerek 1.

Linux parancsok összefoglaló.

Felhasználók és csoportok

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

BASH script programozás II. Vezérlési szerkezetek

Linux kezelés alapjai

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

Operációs rendszerek. 1. gyakorlat. Bevezetés, követelmények UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. Az X Window rendszer

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek oldal LINUX

C/C++ programozás UNIX környezetben

Számítógép architektúrák. A mai témáink. A Unix. A burok

LINUX PMB VIRTUALBOX TÖRTÉNELEM DEBIAN ALAPPARANCSOK - GRUB

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

Linux bevezető (jegyzet)

UNIX fájlrendszerek alapismeretei

Linux - ízelítő. Várady Géza

UNIX: fájlrendszerek

Operációs rendszerek. UNIX fájlrendszer

Operációs rendszerek. UNIX/Linux fájlrendszerek

Linux alapok és használatuk

Alapfogalmak a héj (shell) használatához

AWK programozás Bevezetés

Készítette: Sallai András Terjesztés csak engedéllyel sallaia_kukac_fre _pont_hu

A legfontosabb DOS parancsok

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r

További vezérlő valamint számításokat megkönnyítő szerkezetek

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Alapfogalmak a héj (shell) használatához

Bevezetés jogosultságkezelés, csővezeték, átirányítások. BASH script programozás

Bevezetés a héj (shell) és a UNIX terminál használatába

es tanév őszi félév Tantárgyi követelményrendszer és programleírás

Kiszolgálók üzemeltetése. Iványi Péter

Reguláris kifejezések 1.

Átírás:

Programozás alapjai II. UNIX alapok Szeberényi Imre BME IIT <szebi@iit.bme.hu> 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 Budapesti Műszaki Egyetem UNIX alapok BME-IIT Sz.I. 2010.02.08. -1- -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 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). -3- -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 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) -5- -6-1

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=) 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) -7- -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! 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 ^? -9- -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-2

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) 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 -13- -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. 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. -15- -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... 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 -17- -18-3

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 3x33 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 od640 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 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) -23- -24-4

On-line manual man man man man k man 1 cp, vagy man s 1 cp GNU: info 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. -25- -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) 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- -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 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 /etc/csh.cshrc ~/.cshrc /etc/csh.logout ~/.logout /etc/csh.cshrc ~/.cshrc ~/.login tcsh /etc/csh.cshrc /etc/csh.cshrc /etc/csh.logout /etc/csh.cshrc /etc/csh.login ~/.tcshrc ~/.cshrc ~/.logout ~/.cshrc ~/.tcshrc ~/.cshrc ~/.login bash /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc ~/.bash_logout $BASH_ENV ~/.bashrc -29- -30-5

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) 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). 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- -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 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? - 1dbbármi 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 -33- -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-6

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` 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- -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" 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- -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 t r\{m\} r atom pontosan m-szer ismétlődhet r\{m,\} r atom legalább m-szer ismétlődhet 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. Ezek csak ed, sed és perl esetében. -41- -42-7

Reguláris kifejezés példák/2 A ^[^mh]alma azokra a sorokra illeszkedik, amelyen nem malma, vagy halma sorozattal 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. 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 i á SCCS RCS CVS SVN GIT -43- UNIX alapok BME-IIT Sz.I. BME-IIT Sz.I. 2010.02.09. 2010.02.08. -44-8