Szmtgpes alapismeretek 2 3 gyakorlat UnixLinux alapismeretek Tma

  • Slides: 99
Download presentation
Számítógépes alapismeretek 2 -3. gyakorlat Unix/Linux alapismeretek Téma: Fontos parancsok (who, date, password, pwd,

Számítógépes alapismeretek 2 -3. gyakorlat Unix/Linux alapismeretek Téma: Fontos parancsok (who, date, password, pwd, ls, cat, more, tail, mail, unix levelezés, csatolások, kódolás, dekódolás, pine, cd, mkdir, rmdir, cp, mv, ln, rm, chmod, chown, find) 1

A parancsértelmező, avagy shell n n Egy Unix rendszermag szigorúan véve nem tartalmaz felhasználó-interakciót:

A parancsértelmező, avagy shell n n Egy Unix rendszermag szigorúan véve nem tartalmaz felhasználó-interakciót: a kernel csupán arra képes, hogy futtasson más programokat, illetve hozzáférést biztosítson a rendszer erőforrásaihoz a parancsértelmező vagy shell nem csinál mást, minthogy olvassa a felhasználó billentyűzetéről érkező parancsokat, és ezeket a kernel számára emészthető rendszerhívásokká alakítja, a végeredményről pedig a képernyőn tájékoztatja a felhasználót

A Linux szerkezete hardver rendszermag = kernel shell = burok = héj 3

A Linux szerkezete hardver rendszermag = kernel shell = burok = héj 3

A parancsértelmező, avagy shell n n Bejelentkezéskor elindul egy "login shell". Új shellt a

A parancsértelmező, avagy shell n n Bejelentkezéskor elindul egy "login shell". Új shellt a program nevének beírásával lehet elindítani.

Shell fajták n n n Sh : ősi shell Csh : C programozók ízlésvilágához

Shell fajták n n n Sh : ősi shell Csh : C programozók ízlésvilágához igazított változata Ksh: Korn shell, kényelmi funkciókkal Tcsh: csh kiterjeszett változata Bash: Bourne Again Shell, sh továbbfejlesztése Mindegyik shell-nek saját programnyelve van, amelyben shell scripteket (kisebb programokat) írhatunk

Shell parancsok n n A shellnek vannak beépített parancsai (a bash-nak 50) és külső

Shell parancsok n n 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.

Bash shell n n Az előzőleg begépelt parancsokat visszahívhatjuk a felfelé nyíllal, a parancssort

Bash shell n n Az előzőleg begépelt parancsokat visszahívhatjuk a felfelé nyíllal, a parancssort szabadon szerkeszthetjük (mozogni a nyílbillentyűkkel lehet). Előző parancsot visszahívni még a felkiáltójellel is lehet: a ! mögé rövid sztringet írva megkeresi a legutóbbi olyan parancsot, amely azzal a sztringgel kezdődött, és azt futtatja le

Bash shell n n File-név kiegészítést a "Tab"-bal kérhetünk Ha ez egyértelműen lehetséges, beírja

Bash shell n n File-név kiegészítést a "Tab"-bal kérhetünk Ha ez egyértelműen lehetséges, beírja a filenevet, ha nem, sípol egyet, és a "Tab" újbóli megnyomására megkapjuk a lehetséges filenevek listáját

Bash shell n Billentyűkombinációk Néhány hasznos billentyűkombináció, melyeket bash alatt kényelmesen használhatunk (a lista

Bash shell n Billentyűkombinációk Néhány hasznos billentyűkombináció, melyeket bash alatt kényelmesen használhatunk (a lista távolról sem teljes): control + r: rekurzív keresés a korábban kiadott parancsok között. Leütése után be kell gépelni a keresett parancs valamely töredékét control + c: futó alkalmazás megszakítása control + u: kurzortól balra eső rész levágása control + k: kurzortól jobbra eső rész levágása control + a: sor elejére ugrás control + e: sor végére ugrás control + l: a konzol törlése/frissítése

A Linux fájlrendszere n Fájlnév akár 255 hosszú, szinte tetszőleges karakterekből q kis- és

A Linux fájlrendszere n Fájlnév akár 255 hosszú, szinte tetszőleges karakterekből q kis- és nagybetűk megkülönböztetettek q lehetnek. -ok a fájlnévben, de a kiterjesztéseknek a rendszer számára nincsen jelentésük q n Könyvtárfa q minden adat egyetlen könyvtárfában van, melynek a gyökere a „/” n meghajtók, hardvereszközöknek megfelelő fájlok is a könyvtárfában érhetők el 10

A Linux könyvtárszerkezete, fontosabb könyvtárak: n n n / A főkönyvtár, a könyvtárfa kiindulópontja

A Linux könyvtárszerkezete, fontosabb könyvtárak: n n n / A főkönyvtár, a könyvtárfa kiindulópontja /home Ehhez csatlakoznak a felhasználók könyvtárai /dev A hardvereszközöket reprezentáló fájlok /etc A legfontosabb konfigurációs fájlok /usr/bin Közhasználatú parancsok /sbin A superuser és a rendszerindító parancsok /usr/doc Dokumentációs fájlok /usr/local/man Kézikönyv oldalak /tmp Ideiglenes fájlok /var Konfigurációs fájlok (Linkek az /usr-ből) /lib Megosztott programkönyvtárak /proc A processzek fájlrendszere 11

LINUX/UNIX PARANCSOK 12

LINUX/UNIX PARANCSOK 12

PUTTY alkalmazás használatával bejelentkezünk Karakterkódolás beállítása UTF-8 -ra! 13

PUTTY alkalmazás használatával bejelentkezünk Karakterkódolás beállítása UTF-8 -ra! 13

man n n Manuál olvasása a parancsokról man parancs q q n n -h;

man n n Manuál olvasása a parancsokról man parancs q q n n -h; --help -V; --version - help (Mindenhol!) verzió (Mindenhol!) Lapozás: ‘szóköz’ Kilépés: 'q' Tekintsd meg a who parancs súgóját! 14

Uname n n Rendszerinformációk kiírása Uname q q q q -a -s -n -r

Uname n n Rendszerinformációk kiírása Uname q q q q -a -s -n -r -v -m -p -o összes információ kernel neve node neve kernel release kernel version machine processor operációs rendszer 15

who n n Kiírja, hogy ki van bejelentkezve Who [opciók] q q q -a

who n n Kiírja, hogy ki van bejelentkezve Who [opciók] q q q -a -q -s - minden információ felhasználók száma rövidebb információ Kik vannak most bejelentkezve a rendszerbe? 16

whoami n Kiírja, az aktuális felhasználó azonosítóját

whoami n Kiírja, az aktuális felhasználó azonosítóját

date n n Dátum és idő kiírása/beállítása date [opciók] [formátum] q q q date

date n n Dátum és idő kiírása/beállítása date [opciók] [formátum] q q q date 092908302008 (date [MMDDhhmm[[CC]YY][. ss]]) -R RFC 2822 (Thu, 25 Sep 2008 17: 54: 28 +0200) date +%Y-%m-%d. T%H: %M: %S Tekintsd meg a date parancs súgóját! 18

passwd, kpasswd n n A passwd a felhasználók és a csoportok jelszavának megváltoztatását végzi.

passwd, kpasswd n n A passwd a felhasználók és a csoportok jelszavának megváltoztatását végzi. A felhasználók csak a saját jelszavukat változtathatják meg, a rendszergazda bárkiét. A Kerberos (tartományi) jelszó módosítására a kpasswd parancs szolgál. 19

pwd n n Kiírja a munkakönyvtár nevét pwd q Print name of current/Working Directory

pwd n n Kiírja a munkakönyvtár nevét pwd q Print name of current/Working Directory Mi a személyes könyvtárad teljes elérési útvonala? 20

Katalógusok n A Unix fájlrendszerben három kitüntetett pont létezik az egyes felhasználó számára: q

Katalógusok n A Unix fájlrendszerben három kitüntetett pont létezik az egyes felhasználó számára: q q q a gyökérkatalógus (root directory), ez a fájlrendszer kezdõpontja / az alapkatalógus (home directory), az egyes felhasználóhoz tartozó kiindulási pont ~/ a munkakatalógus (current directory), az a pont, ahol a felhasználó éppen tartózkodik a fájlrendszerben . /

ls n n Könyvtát tartalmának listázása ls [opciók] fájl q -a q -l -s

ls n n Könyvtát tartalmának listázása ls [opciók] fájl q -a q -l -s -S -r -R q -F q q - A ponttal (. ) kezdődő fájlneveket az ls alapértelmezésben nem listázza, a -a opció viszont felülbírálja ezt a működést. - Hosszú formátumú lista - méretet is block-ban - méret szerint rendez - visszafelé rendez - Rekurzívan kilistázza az összes alkönyvtár összes fájlját -Ez az opció hozzáad egy ismertető karaktert a fájlnevek végéhez, ami a fájl típusáról árulkodik • Mi a személyes könyvtárad tartalma? • Milyen típusú fájlok vannak benne? 22

ls –al parancs eredménye Fájltípus és Jogosultságok Tulajdonos neve Link számláló: Hány néven hivatkozhatunk

ls –al parancs eredménye Fájltípus és Jogosultságok Tulajdonos neve Link számláló: Hány néven hivatkozhatunk a fájlra Fájl hossza Tulajdonos csoport azonosítója Utolsó módosítás dátuma Fájl neve Szimbólikus linkeknél az is látszik a -> jel után, hogy hova mutat a link

File-típusok n n n d: ha a file egy könyvtár (directory) b: ha a

File-típusok n n n d: ha a file egy könyvtár (directory) b: ha a file block típusú speciális file c: ha a file karakter típusú speciális file l: ha a file szimbolikus link s: ha a file socket - ha a file "egyszerű" (plain) file

File-típus példa (block device) n n A /dev könyvtár alatt találhatók speciális eszközfájlok, melyeknél

File-típus példa (block device) n n A /dev könyvtár alatt találhatók speciális eszközfájlok, melyeknél ez lehet "b" (blokk eszköz, block devices) pl. : $ ls -al /dev/hda 1 brw-rw---- 1 root disk 3, 1 2004 szept 28 /dev/hda 1 (A primary master vincseszter első partíciójára mutató blokk eszköz)

File-típus példa (karakteres eszközfájl) n n ls -l /dev/dsp 0 crw-rw---- 1 root audio

File-típus példa (karakteres eszközfájl) n n ls -l /dev/dsp 0 crw-rw---- 1 root audio 14, 3 2006 -03 -07 22: 27 /dev/dsp 0 (Ez az elsődleges hangkártyára mutató "karakteres eszközfájl". )

cd (relatív és abszolút hivatkozás) n n Könyvtárváltás Belépés az akt. könyvtár egy könyvtárába

cd (relatív és abszolút hivatkozás) n n Könyvtárváltás Belépés az akt. könyvtár egy könyvtárába q q n Kilépés az akt. könyvtárból q q n cd. . /. . Ki-be lépés q n cd public/public_html ~: a személyes könyvtár cd. . /mail ~ mail public_html Abszolút hivatkozás q q cd ~/public_html cd /bin • Egyesével lépj ki a mindenkori aktuális könyvtárból, ameddig van hová, és közben 27 ellenőrizd az aktuális könyvtár tartalmát!

A joker-karakterek n n ls, cp, rm stb. parancsoknál használható ? q n egyetlen

A joker-karakterek n n ls, cp, rm stb. parancsoknál használható ? q n egyetlen tetszőleges karakter * q tetszőlegesen sok (0, 1, 2, …) tetszőleges karakter • Lépj a /usr/bin könyvtárba! • Jelenítsd meg a könyvtár tartalmát! • Jelenítsd meg csak a "ca" kezdetű fájlokat! • Jelenítsd meg csak az "ar" végű fájlokat! • Jelenítsd meg csak a "c" kezdetű, hárombetűs fájlokat! 28

Shell-szolgáltatások n Parancs, futtatható fájl, vagy könyvtár nevének automatikus kiegészítése q n ‘TAB’ Korábban

Shell-szolgáltatások n Parancs, futtatható fájl, vagy könyvtár nevének automatikus kiegészítése q n ‘TAB’ Korábban kiadott parancsok elérése q ‘fel’ és ‘le’ nyílgombok • Lépj a személyes könyvtáradba! (cd) • Írd be a "cale" szókezdést, nyomj TAB-ot, azután Entert! • Írd be a "cal" szókezdést, nyomj TAB-ot, azután újra TAB-ot! • Folytatva a megkezdett szót, indítsd el újra a "calendar" programot! 29

mkdir n n Könyvtár létrehozása mkdir [opciók] könyvtár q -v - visszajelzés • Hozd

mkdir n n Könyvtár létrehozása mkdir [opciók] könyvtár q -v - visszajelzés • Hozd létre a személyes könyvtáradban a „szamalap” könyvtárat! • A „szamalap” könyvtáron belül hozd létre a „jin” és „jang” könyvtárakat! ~ szamalap jin jang 30

Átirányítás n n A Unix rendszer file-orientált szervezése a parancsok futtatásakor is megmutatkozik: minden

Átirányítás n n A Unix rendszer file-orientált szervezése a parancsok futtatásakor is megmutatkozik: minden egyes futó parancshoz hozzárendelõdik három file: a standard input (stdin) a standard output (stdout) standard error (stderr)

Átirányítás n Kimenet átirányítása: q n Kimenet átirányítása, hozzáfűzéssel: q n Parancs >> fájl

Átirányítás n Kimenet átirányítása: q n Kimenet átirányítása, hozzáfűzéssel: q n Parancs >> fájl Bemenet átirányítás q n Parancs > fájl Parancs <fájl Hiba átirányítása q Parancs 2>fájl

cat n cat [opciók] fájl q n Szövegfájl létrehozása billentyűzetről q q n Fájl(ok

cat n cat [opciók] fájl q n Szövegfájl létrehozása billentyűzetről q q n Fájl(ok összefűzése és) képernyőre írása cat >ujlevel. txt Befejezés: CTRL+D Szövegfájl kiíratása q • Hozd létre a személyes könyvtáradban a „tuz. txt” fájlt, ami a saját nevedet tartalmazza! • Ellenőrizd, hogy a fájl létrejött! cat <olvassel. txt ~ tuz. txt szamalap jin jang 33

Átirányítás n Egy parancs kimenetének szöveges fájlba irányítása q q man date >a_date_parancs_leirasa. txt

Átirányítás n Egy parancs kimenetének szöveges fájlba irányítása q q man date >a_date_parancs_leirasa. txt ls *. png >. . /novenyek/kepeim. list who >~/public_html/felhasznalok. lst hozzáfűzve: n date >>felhasznalok. lst • Írd felül a „tuz. txt” fájlt a jelenleg bejelentkezettek névsorával! • Fűzd hozzá a „tuz. txt” fájlhoz az aktuális dátumot! 34

Echo parancs n n A megadott szöveget kiírja a szabványos kimenetre $ echo ez

Echo parancs n n A megadott szöveget kiírja a szabványos kimenetre $ echo ez egy tetszőleges szöveg q n ez egy tetszőleges szöveg $ echo -n ez egy tetszőleges szöveg q q ez egy tetszőleges szöveg$ Ilyenkor az új sor karaktert nem írja ki 35

cp n Fájlokat és könyvtárakat másol cp [opciók] forrás cél q -f felülír q

cp n Fájlokat és könyvtárakat másol cp [opciók] forrás cél q -f felülír q -i kérdez felülírás előtt q -R, -r Rekurzívan q -u újabbal felülír q -v visszajelzés q ~ tuz. txt szamalap jin • Állj a személyes könyvtáradba! • Készíts másolatot a „tuz. txt” fájlról a „jin” könyvtárba! jang tuz. txt 36

mv n n Mozgat vagy átnevez fájlokat mv [opciók] forrás cél q q -u

mv n n Mozgat vagy átnevez fájlokat mv [opciók] forrás cél q q -u -v - csak az újabbal írja felül visszajelzés ~ tuz. txt • Lépj a „jin” könyvtárba! • Nevezd át a „jin” könyvtárban lévő szövegfájlt „viz. txt”-re! • Helyezd át a „viz. txt” fájlt a „jang” könyvtárba! szamalap jin jang viz. txt 37

rm n n Fájl törlése rm [opció] fájl q q -r -v -f -i

rm n n Fájl törlése rm [opció] fájl q q -r -v -f -i - Rekurzívan Mindig van visszajelzés Soha nincs visszajelzés Kérdezés törlés előtt ~ tuz. txt szamalap • Töröld a „tuz. txt” fájlt! jin jang viz. txt 38

rmdir n n Üres könyvtárat töröl Rmdir [opciók] könyvtár q -v - Kiírja az

rmdir n n Üres könyvtárat töröl Rmdir [opciók] könyvtár q -v - Kiírja az eredményt ~ • Próbáld meg kitörölni a „jang” könyvtárat! • Töröld a „jin” könyvtárat! szamalap jang viz. txt 39

rm -r n n Könyvtár rekurzív törlése rm -r könyvtár ~ szamalap jang •

rm -r n n Könyvtár rekurzív törlése rm -r könyvtár ~ szamalap jang • Töröld a teljes „szamalap 4” könyvtárat! viz. txt 40

more és less n n Képernyőre írja lapozva a fájlt more [opciók] fájl q

more és less n n Képernyőre írja lapozva a fájlt more [opciók] fájl q q q n Szóköz – lapozás Enter – soronként görgetés q – kilépés less: hasonló, mint a more, de mindkét irányban lapozható • Irányítsd át a /etc könyvtár részletes tartalmát egy „lista. txt „fájlba! (ls –l /etc >lista. txt) • Tekintsd meg a more és a less parancsokkal is az elkészült szövegfájlt! • Mi a különbség a két parancs használatában? (Mindkét esetben próbáld ki a ‘fel’, ‘le’ nyílgombokat!) 41

tail n n Egy fájl utolsó részét kiírja tail [opciók] fájl q q -n

tail n n Egy fájl utolsó részét kiírja tail [opciók] fájl q q -n N -c N - Utolsó N sor Utolsó N bájt • Tekintsd meg a /etc/motd. karacsony fájlt! • Tekintsd meg az utolsó 5 sorát! 42

head n n Egy fájl elejét kiírja head[opciók] fájl q q -n N -c

head n n Egy fájl elejét kiírja head[opciók] fájl q q -n N -c N - Utolsó N sor Utolsó N bájt • Tekintsd meg a /etc/motd. karacsony fájlt! • Tekintsd meg az első 5 sorát! 43

FELADATOK 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Írd ki

FELADATOK 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Írd ki egy ize nevű fájlba, hogy ki van bejelentkezve. Az ls man-oldalát írd ki egy ize 2 nevű fájlba. Írasd ki az ize 2 -t oldalakra tagolva. Hozz létre egy valami nevű mappát. Másold az ize-t a valami-be. Lépj be a valami-be és másold bele az ize 2 -t. Töröld az ize-t. Hozz létre egy va lami nevű mappát, majd töröld. Lépj ki valami-ből, és töröld. Fűzd hozzá az ize fájlhoz az ize utolsó 7 sorát. Töröld ize-t. Használd fel az ize fájlt! A név szóközt tartalmaz! 44

Egy lehetséges megoldás 1. who >ize 2. man ls >ize 2 3. more ize

Egy lehetséges megoldás 1. who >ize 2. man ls >ize 2 3. more ize 2 4. mkdir valami 5. cp ize valami 6. cd valami; mv. . /ize 2. 7. rm ize 8. mkdir „va lami”; rmdir „va lami” 9. cd. . ; rm -r valami 10. tail -n 7 ize >>ize 11. rm ize 45

Linkek használata n n n Két nagy előnye van, az egyik a névütközések feloldása,

Linkek használata n n n Két nagy előnye van, az egyik a névütközések feloldása, a másik a helytakarékosság. A névütközések problémája onnan ered, hogy a UNIX verziók eltérő fejlődése miatt ugyanolyan néven kezdtek nevezni más-más parancsokat. Legismertebb példa erre az rsh parancs, ami a System V alapú rendszerekben a restricted shell-t jelenti (ez a szokványos Bourne shell egy korlátozott szolgáltatásokkal bíró változata), a BSD alapú UNIX rendszerekben viszont a remote shell rövidítése, ami a távoli gépeken történő parancsvégrehajtásra szolgál. Mivel a mai rendszerekben mind a két parancs szerepel, általában csak a katalógusokban definiált keresési sorrend dönti el, hogy az rsh parancs kiadásakor melyik indul el a kettő közül (mindig a másik, mint amelyiket akartuk ). Ha viszont valamelyiket egy eltérő névvel láncoljuk, akkor a névütközés problémáját feloldottuk. A restricted shell rendszerint a /usr/bin könyvtárban található, míg a remote shell a /usr/ucb alatt. Adjuk ki az alábbi parancsot (Ehhez superuser jogok kellenek!): $ ln /usr/ucb/rsh /usr/bin/remsh E parancs hatására a továbbiakban remsh néven hívhatjuk a remote shell-t, rsh néven a másikat, s a módszer a katalógusok keresési sorrendjétől függetlenül működni fog. 46

Linkek használata n Helytakarékosság q q Tegyük fel, hogy van két C nyelvű programunk,

Linkek használata n Helytakarékosság q q Tegyük fel, hogy van két C nyelvű programunk, amelyek igen hasonló funkciókat látnak el, lényegtelen eltérésekkel. Megtehetjük azt, hogy mindkettőt külön-külön lefordítjuk, keletkezik két éktelen nagy bináris programunk, különböző néven. Ennél sokkal jobb megoldás, ha egy közös, némileg ugyan nagyobb forráskódot fordítunk le egy példányban, a keletkezett bináris végrehajtható program nevét pedig a másik programnévhez láncoljuk. (A program futás közben el tudja dönteni, hogy milyen néven hívták, s az annak megfelelő végrehajtási ágakra futhat. ) Látszik, hogy ez esetben csak egy darab nagyméretű program foglal helyet a lemezen, a linkelés helyigénye elhanyagolható (gyakorlatilag a második név katalógus-bejegyzése, ami tipikusan 16 bájt. ) 47

Szimbólikus link n n A UNIX rendszer kétféle láncolási eljárást ismer, a merev és

Szimbólikus link n n A UNIX rendszer kétféle láncolási eljárást ismer, a merev és a lágy láncolást (hard and soft link). A merev láncolás legfőbb jellemzője az, hogy a láncolt fájl teljesen egyenértékű az eredetivel, hiszen egyazon inode-ra mutat két egyenértékű katalógus bejegyzés, amelyek között nem lehet különbséget tenni. q n n i-node: adatsruktúra, amely alapvető információkat tárol a fájlokról, könyvtárakról, vagy más objektumokról a fájlrendszerben. A merev láncolás csak egyedi fájlok linkelését teszi lehetővé, katalógusokét nem. A "lágy láncolás", vagyis a szimbolikus link viszonylag késői újítás a UNIXban, a Sun. OS operációs rendszerből terjedt el, de mára már szabványos eleme a UNIX-nak. Lényege, hogy a szimbolikus link katalógus bejegyzése nem a fájl inode-jára mutat, hanem egy olyan különleges fájlra, ami a láncolt fájl nevét tartalmazza. 48

Szimbólikus link n Mire jó? n Szimbolikus link alkalmazásával egész katalógusokat láncolhatunk át egy

Szimbólikus link n Mire jó? n Szimbolikus link alkalmazásával egész katalógusokat láncolhatunk át egy paranccsal egy másik fájlrendszerbe, ami gyakran hasznosnak bizonyulhat, ha például a jobb terhelésszétosztás miatt újra kell strukturálni a fájlrendszert, és egész alkalmazáscsomagokat helyezünk át más fájlrendszerbe, ugyanakkor mindezt a felhasználó számára észrevétlenül akarjuk végrehajtani. 49

ln n n Link létrehozása Ln [opció] CÉL [linknév] q q -f -i -s

ln n n Link létrehozása Ln [opció] CÉL [linknév] q q -f -i -s -v - Felülírja a létezőt, ha van Kérdez felülírás előtt szimbolikus link kiírja az eredményt • Hozz létre a személyes könyvtáradban egy „parancsok” szimbolikus linket a /bin könyvtárra! • Lépj a „parancsok” könyvtárba! • Add ki a pwd parancsot. Mit tapasztalsz? 50

Ln parancs példák (merev link) $ echo Budapest>fovaros $ ls -l összesen 4 -rw-r--r--

Ln parancs példák (merev link) $ echo Budapest>fovaros $ ls -l összesen 4 -rw-r--r-- 1 abonyita iszmtcs 9 okt 2 18. 35 fovaros $ ln fovaros lakhely $ ls -l összesen 8 -rw-r--r-- 2 abonyita iszmtcs 9 okt 2 18. 35 fovaros -rw-r--r-- 2 abonyita iszmtcs 9 okt 2 18. 35 lakhely $ cat fovaros Budapest $ cat lakhely Budapest $ rm fovaros $ ls -al összesen 12 drwxr-xr-x 2 abonyita iszmtcs 20 okt 2 18. 37. drwx------ 26 abonyita iszmtcs 4096 okt 2 17. 12. . -rw-r--r-- 1 abonyita iszmtcs 9 okt 2 18. 35 lakhely $ cat lakhely Budapest 51

Merev (hard) link n Merev link esetén a linkelt állomány és az eredeti állomány

Merev (hard) link n Merev link esetén a linkelt állomány és az eredeti állomány i-nodeja megegyezik $ ls -il összesen 12 275617933 -rwx------ 2 abonyita iszmtcs 7 okt 2 18. 41 fovaros 275617933 -rwx------ 2 abonyita iszmtcs 7 okt 2 18. 41 lakhely 275617934 -rw-r--r-- 1 abonyita iszmtcs 7 okt 2 18. 44 valami 52

Ln parancs példák (szimbolikus link) $ echo Budapest>fovaros $ ln -s fovaros lakhely $

Ln parancs példák (szimbolikus link) $ echo Budapest>fovaros $ ln -s fovaros lakhely $ ls -al összesen 12 drwxr-xr-x 2 abonyita iszmtcs 34 okt 2 18. 47. drwx------ 26 abonyita iszmtcs 4096 okt 2 17. 12. . -rw-r--r-- 1 abonyita iszmtcs 9 okt 2 18. 46 fovaros lrwxrwxrwx 1 abonyita iszmtcs 7 okt 2 18. 47 lakhely -> fovaros $ echo London >fovaros $ cat lakhely London $ rm fovaros $ ls -l összesen 0 lrwxrwxrwx 1 abonyita iszmtcs 7 okt 2 18. 47 lakhely -> fovaros $ cat lakhely cat: lakhely: Nincs ilyen fájl vagy könyvtár 53

Gyakorlás 1. 2. 3. 4. 5. 6. 7. 8. 9. Hozz létre egy apple

Gyakorlás 1. 2. 3. 4. 5. 6. 7. 8. 9. Hozz létre egy apple nevű állományt ugyanezzel a tartalommal Készíts egy merev linket az apple állományra alma néven! Milyen inode-al szerepel a két állomány? Készíts egy szimbolikus linket az alma állományra, gyumolcs néven! Írd felül az alma állomány tartalmát a következőre: jonatán Írasd ki a képernyőre az apple és gyumolcs tartalmát Töröld ki az apple állományt! Írasd ki a képernyőre az alma és gyumolcs tartalmát Töröld le a szimbólikus linket! 54

Jogosultságok Unix rendszerek alatt 3 fajta jog létezik: Olvasási (Read), Írási (Write), és Futtatási

Jogosultságok Unix rendszerek alatt 3 fajta jog létezik: Olvasási (Read), Írási (Write), és Futtatási (e. Xecute). És 3 csoport: tulajdonos (User), a tulajdonos csoportja (Group) és világ más része (Other) Minden csoporthoz a megadni kívánt jogok számait össze kell adni, majd a kapott számokkal futtatni a chmod parancsot. Pl. ha azt akarjuk, hogy az enyém. doc fájlal én, az alkotója mindent megtehessek, de más csak olvasni tudja, akkor a következő számot kell a chmod után írni: 744 Jogok Felhasználó / Tulajdonos (user) Olvasás (read) 4 Írás (write) 2 Felhasználó csoportja (Group) Futtatás Olvasás (execute) (read) 1 4 Írás (write) 2 Világ, mindenki más (Other) Futtatás Olvasás (execute) (read) 1 4 Írás (write) 2 Futtatás (execute) 1 • Read: fájl esetén az olvasást, könyvtár esetén tartalmának listázását jelenti • Write: fájl esetén az írást, könyvtár esetén tartalmának törlését jelenti • e. Xecute: fájl esetén futtatási jogot, könyvtár esetén a könyvtárba lépés jogát jelenti. 55

chmod n n Módosítja a fájl elérési jogait chmod [opciók] MÓD fájl q q

chmod n n Módosítja a fájl elérési jogait chmod [opciók] MÓD fájl q q q r w x + = n n - - - Olvasási engedély Írási engedély Futtatási engedély Hozzáadja az engedélyt Elveszi az engedélyt a megadott jogokkal felruházza az adott felhasználót, csoportot TULAJ_CSOPORT_VILÁG RWX (4+2+1) (olvasás, írás, futtatás) 56

chmod – 2. q q q q u - , u+ Engedélyek beállítása a

chmod – 2. q q q q u - , u+ Engedélyek beállítása a fájl, könyvtár tulajdonosának g - , g+ Engedélyek beállítása a csoport számára o -, o+ Engedélyek beállítása a többi felhasználónak a-, a+ Az összes fenti egyben (ugo) -R Rekurzívan -v Mindig van visszajelzés -f Soha nincs visszajelzés 777 Mindenkinek minden jog 57

chmod példák Parancs chmod +r fajl chmod -x fajl chmod u=rw, go= fajl chmod

chmod példák Parancs chmod +r fajl chmod -x fajl chmod u=rw, go= fajl chmod +rw fajl chmod -R u+w, go-w docs/ chmod 0 file chmod 664 file chmod 755 file magyarázat olvasás jog mindenkinek végrehajtási jog eltávolítva mindenkitől olvasás és írás jog a felhasználónak, a csoporttól és a többi felhasználótól eltíltva minden olvasás és írásjogot adtunk mindenkinek. megváltoztatja a docs könyvtár összes állományának a jogait, úgy hogy ezek tartalma olvasható lesz a felhasználónak, a csoporttól pedig elveszi az írás jogot. eltávolítja az összes jogot mindenkitől olvasás és írás jogot ad a felhasználónak, és a csoportnak, a többinek pedig csak olvasás jogot. ekvivalens a u=rwx (4+2+1), go=rx (4+1 & 4+1). find path/ -type d -exec eltávolítja a végrehajtásjogot az összes könyvtártól (ha '-type f'-et chmod a-x {} ; használunk akkor az állományokra vonatkozik). 58

Feladat n n n n n Hozz létre a személyes könyvtáradban egy „titkos. txt”

Feladat n n n n n Hozz létre a személyes könyvtáradban egy „titkos. txt” fájlt , amely a nevedet tartalmazza! Vond meg magadtól az olvasási jogot! Próbáld meg elolvasni a cat vagy a more paranccsal! Állítsd vissza az olvasási jogodat! Próbáld meg elolvasni a cat vagy a more paranccsal! Vond meg magadtól az írási jogot, de mindenki más kapja meg! Próbálj meg a cat >>titkos. txt paranccsal hozzáfűzni a fájlhoz! Add vissza magadnak az írási jogot, a „többiektől” vedd el! Próbálj meg a cat >>titkos. txt paranccsal hozzáfűzni a fájlhoz! 59

chown n n Módosítja a fájl tulajdonosát és csoportját Chown [opciók] TULAJ[: CSOP] file

chown n n Módosítja a fájl tulajdonosát és csoportját Chown [opciók] TULAJ[: CSOP] file q q -R Rekurzívan -v Mindig van visszajelzés -f Soha nincs visszajelzés --from=MT[: MCS] - Csak a mostani tulajnál vált 60

chgrp n n Módosítja a fájl csoportját Chgrp [opciók] [CSOPORT] file q q q

chgrp n n Módosítja a fájl csoportját Chgrp [opciók] [CSOPORT] file q q q -R -v -f - Rekurzívan Mindig van visszajelzés Soha nincs visszajelzés 61

Chown, chgrp példa n n n n $ chgrp staff file 1 $ ls

Chown, chgrp példa n n n n $ chgrp staff file 1 $ ls -l file 1 -rw-r-xr-x 1 demo staff 18 Aug 23 20: 42 file 1 $ chown janos file 1 $ ls -l file 1 -rw-r-xr-x 1 janos staff 18 Aug 23 20: 42 file 1 E két parancs használatakor egyet ne felejtsünk: ha egy állomány tulajdonosi jogait átadtuk, akkor a továbbiakban azt mi nem vehetjük vissza, csak az új tulajdonos dönthet így. 62

find n n Keresés Find [útvonal] [kifejezések] q q -name ”*. jpg” -perm 777

find n n Keresés Find [útvonal] [kifejezések] q q -name ”*. jpg” -perm 777 -size 10 k -exec command n n q {} ; - *. jpg nevű fájlokat keres 777 -es joggal rendelkezők 10 kilobyte-nál nagyobb Parancsot futtat Az éppen aktuális fájl nevét helyettesíti Lezárja a parancsot … Keresd meg a /etc könyvtár „mod” karakterláncot tartalmazó nevű fájljait (és könyvtárait)! find /etc -name "*mod*" 63

find n Írassuk ki az aktuális könyvtárban lévő összes html kiterjesztésű file utolsó 2

find n Írassuk ki az aktuális könyvtárban lévő összes html kiterjesztésű file utolsó 2 sorát. q find. -name "*. html" -exec tail -2 {} ;

grep n n Karaktersor (szó vagy minta) keresése egy vagy több fájlban: grep [mit]

grep n n Karaktersor (szó vagy minta) keresése egy vagy több fájlban: grep [mit] [fájlnév] Keresd meg a /etc/motd. karacsony fájlban a ‘Karacsony’ karaktersort tartalmazó sorokat! 65

SZÖVEGSZERKESZTÉS

SZÖVEGSZERKESZTÉS

VI Valamennyi UNIX rendszeren megtalálható. Szerkesztőmód Parancsmód ‘Esc’ ‘i’, ‘o’, ‘a’ q felülírás n

VI Valamennyi UNIX rendszeren megtalálható. Szerkesztőmód Parancsmód ‘Esc’ ‘i’, ‘o’, ‘a’ q felülírás n n • Hozz létre eg y egyszerű htm l-oldalt a publikus köny vtáradban, m ajd jelenítsd meg egy böngész őben! q q q q q http: //www. szabilinux. hu/vi/index. html ‘SHIFT+R’ kilépés: ‘Esc’ karaktertörlés: ‘X’ sortörlés: ‘dd’ kivágás: ‘V’-’D’ másolás: ‘V’-’Y’ beillesztés: ‘P’ keresés: /valami Keresés/csere: : %s/mit/mire/g mentés: : w fájlnév kilépés: : q kilépés mentés nélkül: : q!

Vi feladat n n Hozz létre a VI segítségével egy naptar nevű állományt, ami

Vi feladat n n Hozz létre a VI segítségével egy naptar nevű állományt, ami az aktuális hét napjainak dátumát tartalmazza: Pl. q q q n n 2012. október 3: 2012. október 4: 2012. október 5: 2012. október 6: 2012. október 7: Használd a másolás-beillesztés funkciót is! A keresés/csere funkcióval változtasd meg a hónap nevét, a következő hónap nevére! (október =>november) 68

pico

pico

pico n n n létrehozni vagy szerkeszteni kívánt fájl nevét írjuk be a parancs

pico n n n létrehozni vagy szerkeszteni kívánt fájl nevét írjuk be a parancs után: pico ujfajl. txt A program parancsai folyamatosan láthatóak a képernyő alján. A "^" jel azt jelenti, hogy a billentyűt a ctrl gomb nyomva tartása mellett kell használni. Ha ez esetleg a terminál típusa miatt nem működne, akkor a dupla ESC gombnyomást is alkalmazhatjuk helyette.

Pico használata

Pico használata

Pico használat n Kijelölés q q q Megadjuk a kezdő karaktert, (Ctrl+^) majd a

Pico használat n Kijelölés q q q Megadjuk a kezdő karaktert, (Ctrl+^) majd a kurzormozgató billentyűvel kijelöljük a szöveget. Utána használhatjuk a kivágás (ctr+k), és beillesztés (ctrl+u) funkciót. (megjegyzés: a ctrl+^ angol billentyűzeten a ctrl+shift+6 billentyűn van)

Pico feladat 1. 2. 3. Lépj be a public/public_html könyvtárba! Hozz létre a pico-val

Pico feladat 1. 2. 3. Lépj be a public/public_html könyvtárba! Hozz létre a pico-val egy linkek. html állományt! A tartalma legyen a következő: <html> <head> <title>Linkek</title> </head> <body> <h 1>Kedvenc linkjeim</h 1> <p><a href="http: //www. elte. hu">ELTE weboldala</a></p> </body> </html> 4. 5. 6. 7. Nézd meg az eredményt a böngészőprogramban! Másold le háromszor a linket tartalmazó sort, és módosítsd úgy, hogy általad kedvelt oldalakra mutasson! Ments el az állományt, és lépj ki a programból! Nézd meg az eredményt a böngészőprogramban! 73

Pico feladat - folytatás 1. 2. 3. 4. 5. 6. 7. Irányítsd át a

Pico feladat - folytatás 1. 2. 3. 4. 5. 6. 7. Irányítsd át a who parancs eredményét a felh. txt állományba! Nyisd meg a pico-ban a linkek. html állományt! A linkek után illeszd be az alábbi sorokat: <p>Most az alábbi felhasználók vannak bejelentkezve: </p> <pre> </pre> A <pre> és </pre> tagek közé olvasd be a felh. txt állomány tartalmát! Mentsd el az állományt és nézd meg az eredményt a böngészőprogramban! Ha az ékezetes betűk nem jelennek meg helyesen, a dokumentum <head> és </head> tagje közé helyezd el a következő sort: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" > Nézd meg az eredményt!. 74

joe

joe

Joe használata n n A joe egy elterjedten használt szövegszerkesztő. Komolyabb feladatokra is alkalmas,

Joe használata n n A joe egy elterjedten használt szövegszerkesztő. Komolyabb feladatokra is alkalmas, mint a pico. Egyszerre több állományt is megnyithatunk vele különböző opciókkal. Komolyságát a parancsok számából is láthatjuk, amelyet a <ctrl>-k-h gombokkal hozhatunk elő és tüntethetünk el. Itt is "^" jel azt jelenti, hogy a billentyűket a ctrl gomb nyomva tartása mellett kell használni.

Joe használata

Joe használata

Midnigth Commander (mc) http: //szerver 3. moragimi. sulinet. hu/Informatika/linux/mc. html

Midnigth Commander (mc) http: //szerver 3. moragimi. sulinet. hu/Informatika/linux/mc. html

Midnigth Commander (mc) n n n n n F 1 – Súgó F 3

Midnigth Commander (mc) n n n n n F 1 – Súgó F 3 – Megtekintés F 4 – Szerkesztés F 5 – Másolás F 6 – Átnevezés / mozgatás F 7 – Könyvtár létrehozása F 8 – Törlés F 9 – Menü F 10 – Kilépés

Midnigth Commander (mc) n Lényegesebb menüpontok q Left / Right n n n n

Midnigth Commander (mc) n Lényegesebb menüpontok q Left / Right n n n n Listing mode - Könyvtárlista Info - Az állomány főbb tulajdonságai Tree – Könyvtárszerkezet Sort Order – Rendezési beállítások Filter – Szűrők (nézet) FTP link – FTP kapcsolat Rescan - frissítés

Midnigth Commander (mc) n File menü q q chmod – Jogosultságok beállítása Link és

Midnigth Commander (mc) n File menü q q chmod – Jogosultságok beállítása Link és Symlink: Linkek és szimbolikus linkek kezelése chown – Tulajdonos beállítása Select / unselect group, reverse selection - kijelölés

Midnigth Commander (mc) n Command menü q q Directory tree: könyvtárfa lekérése Find file:

Midnigth Commander (mc) n Command menü q q Directory tree: könyvtárfa lekérése Find file: fájl keresés Compare directories: könyvtárak összehasonlítása Show directory sizes: Könyvtárak méreteinek megjelenítése

Feladat – mc n Hozd létre az alábbi alkönyvtár struktúrát: q Mc n állat

Feladat – mc n Hozd létre az alábbi alkönyvtár struktúrát: q Mc n állat q n informatika q q n n n tigris egér billentyűzet Az egér könyvtárban helyezz el egy eger. txt állományt, egérke tartalommal. (SHIFT+F 4) Az egér könyvtárat másold az állat könyvtárba Az állat/egér/eger. txt állományra állítsd be, hogy a tulajdonosnak legyen rwx joga, a többieknek pedig semmilyen. Készíts egy hard linket állat/egér/eger. txt állományra, az informatika könyvtár gyökeréből, mouse néven! Nézd meg a mouse tartalmát! 83

PROCESSZEK / FOLYAMATOK

PROCESSZEK / FOLYAMATOK

Folyamat n n az operációs rendszerben futó program egy példánya Felmerülő kérdések q q

Folyamat n n az operációs rendszerben futó program egy példánya Felmerülő kérdések q q q Időosztás (time slice), a folyamatok egymás utáni futtatása, az ütemezés megoldása párhuzamos futtatás, több felhasználó egyidejűleg a gépen futó programokkal dolgozhat (multiuser munkamód) a prioritások kezelése

Folyamatok n Folyamatok vezérelhetőek is q q q n Elindíthatóak: előtérben, háttérben Lekérdezhetőek Leállíthatóak

Folyamatok n Folyamatok vezérelhetőek is q q q n Elindíthatóak: előtérben, háttérben Lekérdezhetőek Leállíthatóak Időzíthetőek Priorizálhatóak A Unix/Linux többfeladatos és többfelhasználós rendszer

Futó folyamatok lekérdezése n n n ps ps aux top PID - a folyamat

Futó folyamatok lekérdezése n n n ps ps aux top PID - a folyamat azonosítója TTY - a vezérlõ terminál azonosítója, jelen esetben ez a ttyp 0 STAT - a folyamat állapota TIME - a processz által eddig elhasznált processzor idő

A folyamatok fontosabb állapotai a UNIX/Linux rendszerek alatt Az állapot neve A ps parancs

A folyamatok fontosabb állapotai a UNIX/Linux rendszerek alatt Az állapot neve A ps parancs betűjele Leírás Running R A folyamat fut. Parancssoros munka esetében ide soroljuk azt az esetet is amikor a folyamat még nem fut, de futásra kész. Ilyenkor a folyamat arra vár, hogy processzoridőhöz jusson. Interruptible Sleep S A folyamat várakozik valamilyen eseményre vagy erőforrásra és megszakítható egy jelzés által. Például egy számlálóra (sleep) vagy valamilyen Be/Ki műveletre. Uninterruptible Sleep D A folyamat várakozik valamilyen eseményre vagy erőforrásra és nem szakítható meg jelzés által. Általában ez az állapot valamilyen be/kimeneti eszközre való várakozást jelent. Stopped vagy Traced T Fel van függesztve és áll. Ide kerül egy folyamat ha a terminálról futtatva lenyomjuk a ^Z billentyűt és a háttérbe dobjuk.

Folyamatazonosító (process id vagy pid) n n n A folyamatok azonosítására szolgáló egész szám

Folyamatazonosító (process id vagy pid) n n n A folyamatok azonosítására szolgáló egész szám Folyamatot a UNIX alatt csak egy másik folyamat indíthat. Így minden folyamat egy másik folyamat gyermeke, ezért használatosak a szülő folyamat és gyermek folyamat elnevezések. ps –ef f {fa struktúrában jeleníti meg}

Feladat (job) n n A terminállal való munka során egy parancssorral egyszerre akár több

Feladat (job) n n A terminállal való munka során egy parancssorral egyszerre akár több folyamatot indíthatunk. tail -20 lista. txt | sort | uniq A fenti parancs 3 folyamatot indít és köztük csővezetékeket hoz létre. A felhasználó által elindított folyamatok csoportját job-nak nevezik. Jobs

Folyamatok kezelése parancs & programindítás előtér (csak 1 folyamat) ‘CTRL+Z’ fg %jobnumber kill -STOP

Folyamatok kezelése parancs & programindítás előtér (csak 1 folyamat) ‘CTRL+Z’ fg %jobnumber kill -STOP pid háttér – running bg %jobnumber háttér – stopped ‘CTRL+C’ done kill %jobnumber terminated

Programok indítása n Előtérben q n Háttérben: <parancsnév> & q n sleep 10 sleep

Programok indítása n Előtérben q n Háttérben: <parancsnév> & q n sleep 10 sleep 20& nohup <parancsnév>: A program futása nem szakad meg a felhasználó kijelentkezésekor

Processzek befagyasztása, folytatása n Futó folyamat befagyasztása: CTRL + Z q q q n

Processzek befagyasztása, folytatása n Futó folyamat befagyasztása: CTRL + Z q q q n n vi CTRL + Z ps aux Előtérbe helyezés: fg [jobazonosító]% Háttérben folytatás: bg [jobazonosító]%

Processzek kezelése n n n jobs: belső feladatazonosítók, állapotok lekérése kill: folyamatok leállítása Feladat:

Processzek kezelése n n n jobs: belső feladatazonosítók, állapotok lekérése kill: folyamatok leállítása Feladat: Lépjünk be két terminál kapcsolattal, egyik ablakban indítsunk el egy szövegszerkesztőt, majd ezt lőjük ki a másik ablakból!

Processz erőforrás felhasználás n n n time <parancsnév>: erőforrás felhasználási statisztika pl. : time

Processz erőforrás felhasználás n n n time <parancsnév>: erőforrás felhasználási statisztika pl. : time finger strace <parancsnév>: rendszerhívások megjelenítése. Hibakereséshez q q pl: strace –p PID pl. : strace ls pl: strace –p 16543 - a figyelt folyamat azonosítója

Eseménykezelés (csapda) n n n Trap A jelek elfogására és kezelésére szolgál a trap

Eseménykezelés (csapda) n n n Trap A jelek elfogására és kezelésére szolgál a trap parancs, amelynek általános alakja a következő: q q trap 'parancsok' jelek neve vagy száma A trap a felsorolásban megadott jeleket elfogja, és hatásukra az egyszeres idézőjelek (aposztrófok) között megadott utasítássort hajtja végre.

Eseménykezelés (csapda)

Eseménykezelés (csapda)

Eseménykezelés (csapda) n n Feladat: A ctrl+c leütésére írjuk ki: Szia! Feladat: Szüntessük meg

Eseménykezelés (csapda) n n Feladat: A ctrl+c leütésére írjuk ki: Szia! Feladat: Szüntessük meg ezt a csapdát! Megoldás n n trap ’echo Hajrá ELTE!’ 2 trap ’’ 2

Köszönöm a figyelmet! 99

Köszönöm a figyelmet! 99