Operációs Rendszerek II. labor. 4-5. alkalom



Hasonló dokumentumok
OPERÁCIÓS RENDSZEREK II 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

Gyors tippek linuxra

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 2 3. alkalom - Reguláris kifejezések, grep, sed. Windisch Gergely windisch.gergely@nik.uni-obuda.hu

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

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

Szkriptnyelvek. 1. UNIX shell

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

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

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

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

UNIX folyamatok kommunikációja

OPERÁCIÓS RENDSZEREK 1. PROCESSZKEZELÉS

Számítógépes alapismeretek

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

Néhány kihagyhatatlan Linux tipp és trükk. Ezeket a tippeket olvasóink osztották meg velünk

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

Számítógépes alapismeretek

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

Operációs rendszerek 1.

Verziókezelt konfigurációmanagement++ Pásztor György, SZTE Klebelsberg Könyvtár

Operációs rendszerek 1.

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

BASH SCRIPT SHELL JEGYZETEK

Linux bevezető (jegyzet)

Linux kezelés alapjai

Linux alapok gyakorlat

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

IPv6 alapú otthoni LAN hálózat kialakítása

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

Linux parancsok összefoglaló.

Bevezetés a UNIX rendszerekbe

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

Telepítési dokumentáció. Naviscon Informatikai Zrt Budapest, Montevideó utca 16/b.

Csatlakozás a pandora.inf.elte.hu-re Linux alapparancsok

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

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

Planet Me blog aggregátor létrehozása

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

Folyamatok kezelése. Az operációs rendszerek egyik legfontosabb feladata a folyamatok kezelése.

Dr. Iszály György Barna

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

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

Programozás alapjai gyakorlat

A perzisztens adatkezelő rendszer tesztelése és demonstrálása a GRID környezetben

A héj vezérlő szerkezetei I.

Folyamatok követése. Tartalom. 1. Folyamatok

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

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

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

Operációs rendszerek MINB240/PMTRTNB230H

1_Linux_bevezeto_bash

2015/10/08 16:00 1/12 ArchLinux

6_complex_feladatok. October 26, 2016

Windows hálózatok. IP cím. Hálózati kapcsolatok nyomonkövetése. < Windows

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.

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

Paraméteres-, összesítı- és módosító lekérdezések

Operációs rendszerek gyakorlat

Számítógép Architektúrák. 2. Gyakorlat (shell és HTML alapok)

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

Bash Shell Programozás. 1. oldal

Az alábbiakban néhány Linux parancsra látunk példákat, feladatokat.

Linux Essentials. Torma Hajnalka

Operációs rendszerek gyak.

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

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


(NGB_TA024_1) MÉRÉSI JEGYZŐKÖNYV

Mérési útmutató a Secure Shell (SSH) controll és audit című méréshez

Rendszerprogramozás Linux környezetben

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

2. lépés: openssh szerver telepítés sudo apt-get install openssh-server

Operációs rendszerek gyakorlat

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

Powershell 1. gyakorlat

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

Kőbánya-Kispest Újpest-Központ

4. Gyakorlat: Csoportházirend beállítások

A sed folyamszerkesztő

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

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

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

Kísérlet-programozás. Labor - blokkok, visszajelzés és adatkezelés

OPERÁCIÓS RENDSZEREK I. A JOGOSULTSÁGI RENDSZER

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

Széchenyi István Egyetem

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Andrews Kft. Konténerek az IT biztonság szemszögéből.

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

Operációs rendszerek I. IIII. gyakorlat

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

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

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

Linux, Bash és PowerShell alapok

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

2016/06/13 20:37 1/16 Apró linuxos tippek

Átírás:

Operációs Rendszerek II. labor 4-5. alkalom

Több program egyszerre Többszörös bejelentkezéssel triviális Egy shell alól is lehet: Indítás háttérben: <parancs> & Futó program felfüggesztése: CTRL-Z Háttérbe küldés: bg Háttérben futó program előtérbe: fg Ha több van: fg %2, stb. Ha kilépünk (Hangup), leállnak a programok nohup <cmd>

Próbáljuk ki Teszt, ami sokáig fut (alma.sh): while true; do date >> alma.txt sleep 2 done Indítsuk el és nézzük a készülő fájlt! Hogyan? Függesszük fel a futást! Frissül a fájl? Küldjük el háttérbe (bg)! Frissül a fájl? Hozzuk előtérbe (fg)! Állítsuk meg! Indítsuk rögtön háttérből Ugye most is frissül?

Próbáljuk tovább! Háttérben fut, frissül Lépjünk ki, majd vissza. Frissül még? Futassuk úgy, hogy kilépés után is fusson! nohup alma.sh & Frissül a fájl? Lépjünk ki majd vissza! Frissül? Tipp: cat <file> tail <file> tail f <file>

Mi fut? ps parancs, többféle kapcsolóval (man) SysV stílus: ps ef BSD stílus: ps aux Ami érdekes (most, egyébként a többi is) PID, PPID, UID/USER, CMD Szülők és gyerekek, zombik és árvák top utility: periodikusan lekérdezi q, M, P

Ha nem akarom, hogy fusson kill parancs kill [<signal>] <PID> érdekesebb signal-ok: PID 1: HUP 9: KILL Például a ps parancs kimenetéből -1: csak root-ként, broadcast killall parancs: név alapján jár el

Feladat Írjon egy olyan scriptet, ami kiírja a paramétereként megadott nevű folyamat PID-jét! ps ef grep $1 cut c7-11 Ez a cut nem túl szép Jobb megoldás? ps ef grep $1 awk { print $2 } De ez mást is kiír. Jobb megoldás? szedjük ki a grep sort (greppel)

Ütemezett futtatás Szeretném, ha rendszeresen futna akkor is, ha nem vagyok belépve CRON mechanizmus /var/spool/cron/crontabs könyvtár Szerkesztés, listázás: crontab parancs (vs. vi, de ) crontab l /list/ crontab e /edit vi!!!!/ crontab r /remove/ Na de mit írjunk ide?!

crontab fájl Forma: mikor, mit. A mikor kicsit összetett minute: 0-59 hour: 0-23 day of month: 1-31 month: 1-12 day of week : 0-7 (0 or 7 is Sun) A field may be an asterisk (*), which always stands for ``first-last''

crontab példák <Min> <Hour> <Day_of_M> <Month> <Day_of_W> # run five minutes after midnight, every day 5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1 # run at 2:15pm on the first of every month 15 14 1 * * $HOME/bin/monthly # run at 10 pm on weekdays, annoy Joe 0 22 * * 1-5 mail -s "It's 10pm" joe%joe,%%where are you?% " 23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am... " 5 4 * * sun echo "run at 5 after 4 every sunday"

Feladat Készítsen egy programot, ami percenként egy adott fájlhoz ($HOME/now) hozzáfűzi az aktuális dátumot és időpontot (függetlenül attól, hogy be vagyunk-e lépve)! Script (now.sh): date >> $HOME/now crontab: * * * * * $HOME/now.sh

További futtatási módok Démonok, inittab és futási szintek who r init parancs, inittab rc könyvtárak

Folyamatok közötti kommunikáció Régi eszközök: pipe FIFO signal Pipe ismerős: ls more signal is: kill FIFO named pipe

FIFO Speciális fájl, tartalma csővezeték szerűen viselkedik Létrehozás: mkfifo vezetek Más rendszereken: mknod Használat (két konzol) konzol1: cat <vezetek konzol2: echo hello > vezetek

diff parancs Szöveges fájlok összevetése diff -q alma.txt korte.txt De ami érdekesebb: diff alma.txt korte.txt > diff.out patch alma diff.out xdiff (windiff, ha Windows) alma.txt: alma barack dió korte.txt: alma citrom dió

tar parancs Végtelenül bonyolult fájl archiváló program Archív létrehozása: tar cf <archív neve> <mit> Archív listázása: tar tf <archív neve> Archív kibontása: tar xf <archív neve> Példa (a HOME-unk alatt hozzunk létre egy valami könyvtárat, ahova másoljunk bele fájlokat!) tar cvf alma.tar valami tar tf alma.tar tar xvf alma.tar

tar folytatás, könyvtárak másolása Készítsünk egy akarmi könyvtárat cd; mkdir akarmi Másoljuk ide a valami tartamát (könyvtárastul) Kellemetlen meglepetés: tar cf alma.tar /home/hallgato/valami cd akarmi tar xf../alma.tar Megoldás: mindig relatív megadás kell! Könyvtárak másolása köztes fájl nélkül mkdir akarmi tar cf valami ( cd akarmi; tar xf )

Find parancs, fájlok keresése Szintén nem az egyszerűségéről híres Alap: find <hol> <szűrő> <akció> Fontosabb szűrési paraméterek: Név: find. name *.txt *-print] Típus: find. type f [-print] Fájl: f, Könyvtár: d, stb Méret: find. size 1M [-print] Vagy inkább: find. size -1M [-print] Egyéb finomságok : időbélyegek, stb.

Find folytatás Időbélyegek: státusz v., módosítás, hozzáférés ctime, mtime, atime Előjelek: + vagy - Léptékek: second, minute, hour, day, week; default: nap Példák: find. mtime +3 find. mtime -3 Összehasonlítás: newer find. newer valami.txt

Find még tovább Határoljuk be a keresési mélységet! find. depth 2 print Egyéb akciók : exec exec <mit> <paraméter: {}> \; find. type d exec ls ld {} \; Ez innentől már invazív, lehet destruktív is!

Gyakorlás, find: listázza ki /usr könyvtár alatt található (al)könyvtárakat! find /usr -type d Listázzon, de csak kettes mélységben! find /usr -type d -depth 2 /usr alatti 1 MB-nál nagyobb méretű fájlokat! find /usr -type f -size +1M -exec ls -l {} \; Meg a méretüket is find /usr -type f -size +1M -exec ls -l {} \;

Egyszerű inkrementális mentés Írjon egy scriptet, ami két paramétert vár a mentendő könyvtár nevét a mentési könyvtárat (ahova a mentések készülnek) A mentési könyvtárba a fájlok neve a mentés időpontja legyen (tar fájl jöjjön létre) Az egyes mentések csak az előző mentés óta keletkezett változásokat tartalmazzák (fájl szinten, kivétel a törlések) Az egyes inkrementumok megőrizendők! Lehessen lehetőség full mentés készítésére Használandó parancsok: find, tar, touch Vagy bármi más, ami jól esik

sed Stream EDitor Sorokat dolgoz fel, főként cserére használjuk Akkor jó, ha sokszor kell cserélni DOS Unix text file, stb. Példafájl: telsz name: Alma, phone:123-4567 name: Barack, phone:234-5678 name: Citrom, phone:345-6789 name: Eper, phone:567-8912

sed folytatás Magyarítsunk: sed "s/name/neve" telsz Többszörös behelyettesítés: sed -e "s/name/neve/" -e "s/phone/telefon/ " telsz Telefonszám maszk: sed "s/[0-9]/*/" telsz Újra fussunk neki: sed "s/[0-9]/*/g" telsz Telefonszám formázás (behelyettesítés) sed "s/[0-9]*-[0-9]*/(&)/" telsz

Fekete lista Diszken helyet foglalók fekete listája Adott könyvtár (tipikusan /home, de most legyen /usr) alatti alkönyvtárak helyfoglalása, csökkenő sorrendben rendezve du, sort és társai Top 5 foglalás kiírása [Adott érték feletti sorok kiírása (pl. 10 mega)] du parancs (+megfelelő paraméterek): helyfoglalás sort: rendezés head: első 5 elem

Felhasználók fájljai Egy adott könyvtárban (és alkönyvtáraiban) található közönséges fájlok listázása, amelyek egy adott felhasználó (paraméter) tulajdonában vannak (find) A fájlok megszámlálása A fájlok össz. helyfoglalásának kiírása

Jog tuning Írjunk egy olyan scriptet, ami az összes futtatható fájl írási jogát megszűnteti (de a futtatási és egyéb jogok maradnak) chmod Hibakezelés! Csak akkor legyen hiba, ha tényleg nem sikerült állítani a jogot (azaz, ha nem is volt írási jog ne szóljon, hogy nem sikerült)

Tulajdonjog váltás Hozzunk létre egy új felhasználót (archiv) Írjunk egy script-t, ami egy adott alkönyvtár összes, 10 kilobyte-nál nagyobb fájljának tulajdonjogát átadja az archiv felhasználónak (chown)! Számoljuk meg az eredményes átadásokat! A scriptet módosítsuk úgy, hogy kezelje a hibákat is!

Gépek között Régen és ma: telnet: terminál emulátor kliens ftp: interaktív fájltranszfer rsh: parancs futtatása távoli gépen rcp: fájl másolás gépek között ssh: secure shell (win: putty) ssh [user@]hostname [command] scp: secure copy scp [[user@]host1:]file1... [[user@]host2:]file2