Programozás alapjai 2 UNIX dióhéjban

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

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

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

Operációs rendszerek 1.

Operációs rendszerek gyak.

Programozás alapjai II. UNIX alapok

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

Operációs rendszerek gyakorlat

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

chmod umask chown, chgrp

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

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 gyakorlat

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

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

Operációs rendszerek I. IIII. gyakorlat

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

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

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

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

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 gyakorlat

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

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

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

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

Operációs rendszerek gyakorlat

Szkriptnyelvek. 1. UNIX shell

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

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

Számítógépes alapismeretek

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.

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

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

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

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

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

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

1_Linux_bevezeto_bash

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

1. Alapok. #!/bin/bash

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

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

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

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

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

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

BASH SCRIPT SHELL JEGYZETEK

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

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

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

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


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

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

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

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

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

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

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

Operációs Rendszerek II. labor alkalom

Bevezetés a UNIX rendszerekbe

UNIX: fájlrendszerek

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

UNIX fájlrendszerek alapismeretei

Operációs Rendszerek. Windows Parancssor

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

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

Felhasználók és csoportok

Linux parancsok összefoglaló.

Operációs rendszerek. Az X Window rendszer

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

Programozás alapjai gyakorlat

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

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

Operációs rendszer feladatai. Informatikai alapismeretek. Multiprogramozás. Közös jellemzık. Virtuális tárkezelés. Multiprogramozás problémái

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

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

Operációs rendszerek 1.

AWK programozás Bevezetés

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

Linux kezelés alapjai

Operációs rendszerek

Linux alapok és használatuk

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

A legfontosabb DOS parancsok

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

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

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

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

9. óra operációs rendszerek. Grafikus operációs rendszer

AWK programozás, minták, vezérlési szerkezetek

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

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

Operációs rendszerek. UNIX fájlrendszer

Reguláris kifejezések 1.

Operációs rendszerek gyakorlat összefoglaló

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

Átírás:

Programozás alapjai 2 UNIX dióhéjban 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. 2017.02.07. - 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, annak összhangja a terminál emulátorral. (set term=, TERM=) - 7 -

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

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

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 kötet gyökér link - 10 -

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

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

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

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

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

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

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

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

Fájlkezeléssel kapcs. parancsok/2 chmod (ch. mode) védelmi kód változtatás chown/chgrp tulajdonos megváltoztatás mount/umoun t kötet csatlakoztatás Sok fájkezeléssel kapcsolatos parancs r ( R) kapcsolóra rekurzív lesz (pl. cp) - 19 -

On-line manual man man man man k man 1 cp, vagy man s 1 cp GNU: info - 20 -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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