A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
speclab-inf:laborok:labor06 [2018/10/18 10:32] 127.0.0.1 külső szerkesztés |
speclab-inf:laborok:labor06 [2019/10/13 22:45] (aktuális) pferi [Labor 12 inf. Mi MSC 4. szemeszter] |
||
---|---|---|---|
Sor 1: | Sor 1: | ||
+ | ==== Labor 6 inf. Mi MSC 4. szemeszter ===== | ||
+ | == 6. sz. laboratóriumi munka == | ||
+ | |||
+ | ^ Téma: ^ A GNU/Linux parancssor és bash parancsfájlok (szkriptek) alapjai| | ||
+ | |A munka célja:| Elsajátítani a GNU/Linux operációs rendszer legfontosabb parancsait, bash parancsfájlok használatát. | | ||
+ | |Elméleti ismeretek:| fájlkezelési parancsok, cut, grep, mc, ssh, du, cat, echo, ps, chmod, chown | | ||
+ | |Szükséges eszközök és programok:| Telepített Ubuntu Linux (vagy más Linux disztribúció) operációs rendszer, Internet kapcsolat| | ||
+ | |||
+ | == A munka menete: == | ||
+ | Név:\\ | ||
+ | Dátum, idő:\\ | ||
+ | Számítógép: | ||
+ | Indítsa el a szövegszerkesztő programot. Másolja a laboratóriumi munka teljes szövegét majd illessze be a dokumentumba. | ||
+ | ==== 1. Feladat ==== | ||
+ | Kapcsolja be a számítógépét Ubuntu Linux operációs rendszert indítva. (Windows esetén VirtualBox programban indítsa el az Ubuntu Linux virtuális gépet).\\ | ||
+ | ==== 2. Feladat ==== | ||
+ | Nyissa meg az alábbi oktatási segédletet: | ||
+ | Olvassa el az 1-6 fejezeteket. Az ott olvasható parancsokat **próbálja is ki** a Terminál programban. | ||
+ | ==== 3. Feladat ==== | ||
+ | Másolás / beillesztés segítségével a minta parancsfájlokat hozza létre és próbálja ki a saját gépén is. | ||
+ | ==== 4. Feladat ==== | ||
+ | Másolja saját könyvtárába az alábbi parancsfájlt **labminta.sc** néven. | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | # letorli kepernyot | ||
+ | clear | ||
+ | echo " | ||
+ | echo "a script ellenorizze a megadott parameterek szamat és azt is," | ||
+ | echo "hogy az elso parameter egesz szam!" | ||
+ | echo | ||
+ | # megjeleniti a program nevet es az elso parametert | ||
+ | echo $0 $1; echo | ||
+ | # ellenorizi, hogy a parameterek szama egy: | ||
+ | if test $# -eq 1 | ||
+ | # ha igen: | ||
+ | then | ||
+ | # ellenorzi, hogy az elso parameter szam | ||
+ | # a szuro csak azokat a karaktereket engedi at | ||
+ | # amlyek 0-9 et tartalmaznak, | ||
+ | # az a erteke vagy szam lesz, vagy ures | ||
+ | a=`echo $1 | grep ' | ||
+ | # | ||
+ | # megjelenk az a a kepernyon (ha nincs #) | ||
+ | # echo "a= $a" | ||
+ | # | ||
+ | # ellenorzi, hogy a szam-e | ||
+ | # ha az elso ES masodik parametert kellene ellenorizni, | ||
+ | # if test -n " | ||
+ | # tehat: | ||
+ | |||
+ | if test -n " | ||
+ | # ha igen: | ||
+ | then | ||
+ | # ellenorizi, hogy az elso parameter kissebb mint 90 | ||
+ | if test $1 -le 90 | ||
+ | then | ||
+ | # itt jon maga a program | ||
+ | # Az elso ket szam 1 es 1 | ||
+ | f1=1 | ||
+ | f2=1 | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | # aztan: | ||
+ | # ciklus KEZDETE | ||
+ | # Az i valtozni fog 3-tol addig a szamig amit maegadtunk parameterkent: | ||
+ | for i in `seq 3 $1` | ||
+ | do | ||
+ | # minden ujabb szam az elozo ketto osszege: | ||
+ | fibo=`expr $f1 ' | ||
+ | echo " | ||
+ | # az uj f1 a regi f2 lesz | ||
+ | f1=$f2 | ||
+ | # az uj f2 pedig a kiszmolt osszeg | ||
+ | f2=$fibo | ||
+ | done | ||
+ | # a ciklus VEGE | ||
+ | else | ||
+ | echo "Nem megfelelo parameter n > 90 !" | ||
+ | fi | ||
+ | else | ||
+ | echo "Nem szam az elso parameter" | ||
+ | fi | ||
+ | else | ||
+ | echo "a parameterek szama nem egy, hanem $# !!!" | ||
+ | fi | ||
+ | |||
+ | </ | ||
+ | |||
+ | Adjon futási jogot és ellenőrizze és vizsgálja meg működését: | ||
+ | {{ : | ||
+ | Próbálja ki a szkript működést különböző paraméterekkel. | ||
+ | ./ | ||
+ | ./ | ||
+ | ./ | ||
+ | ./ | ||
+ | | ||
+ | | ||
+ | | ||
+ | ==== 5. Feladat ==== | ||
+ | Az alábbi feladatok közül két megadottat végezzen el önállóan (a feladatok sorszámát e-maiben kapja). Amennyiben szükséges a program **ellenőrizze** a paraméterek számát és helyességét (egész számok esetén, hogy szám-e; fájlok, könyvtárak létezése, stb.) és tartalmazzanak rövid magyarázatot is. | ||
+ | |||
+ | - Írjon szkriptet, ami bekér egy számot és ellenőrzi, hogy osztható-e hárommal. | ||
+ | - Írjon szkriptet, ami kiírja a páros számokat a paraméterében megadott két érték között. Ellenőrizze, | ||
+ | - Írjon szkriptet, ami a paraméterében megadott 3 számmal elvégzi a következő műveleteket a*b*c-(a+b+c) | ||
+ | - Írjon szkriptet, ami a paraméterében megadott fájlra ellenőrzi jogosultságait és kiírja, a „rendelkezünk írási joggal” vagy „nem rendelkezünk írási joggal” szöveget. | ||
+ | - Írjon szkriptet, ami a paraméterében megadott számról eldönti, hogy osztható-e hattal. | ||
+ | - Írjon szkriptet, ami a bc program segítségével kiszámítja a paraméterében megadott sugarú kör kerületét és területét. | ||
+ | - Írjon szkriptet, ami a paraméterében megadott három szám közül a legkisebbet kiírja a képernyőre. | ||
+ | - Írjon szkriptet, ami kiírja a december havi naptárakat 1985.-től 2000.-ig. Mindegyiket 3 sec-ig. A a naptárak között 1 másodpercig a képernyő legyen üres. | ||
+ | - Írjon szkriptet, ami kiírja a paraméterben megadott sorszámú hónap naptárát 1990.-től 2010.-ig egyesével mindegyiket 4 másodpercig. | ||
+ | - Írjon szkriptet, ami kiírja a paraméterben megadott állomány karaktereinek számát! Ha a fájl nem létezik jelezze szöveg kiírásával. | ||
+ | - Írjon szkriptet, ami megtalálja a paraméterében megadott könyvtár legtöbb sort tartalmazó állományának nevét és sorainak számát! | ||
+ | - Írjon szkriptet, ami kiírja azokat az 100-nál kisebb számokat, amelyeknek 4 osztójuk van! | ||
+ | - Írjon szkriptet, ami kiírja azokat a paraméterben megadott számnál kisebb számokat, amelyeknek 3 osztójuk van! | ||
+ | - Írjon szkriptet, ami megjeleníti az 1, 2, 3, … n számok faktoriálisát! Az n-t paraméterben adja meg, ellenőrizze, | ||
+ | - Írjon szkriptet, ami megjeleníti a két paraméterében megadott évszámot és azok közötti évszámokat, | ||
+ | |||
+ | ==== 6. Feladat ==== | ||
+ | A szkripteket < | ||
+ | |||
+ | ==== 7. Feladat ==== | ||
+ | A két szkript sorait illessze be a dokumentumba és mentse dokumentumot Lab12-MONOGRAM.odt néven. | ||
+ | |||
+ | ==== 8. Feladat ==== | ||
+ | Küldjön emailt a pferi@kmf.uz.ua címre. A levél tárgya legyen **Saját Név LAB12 12** tartalma pedig a következő: | ||
+ | <Saját Név> jelen nyilatkozatom elküldésével kijelentem, hogy ezt a feladat önálló munkám, | ||
+ | annak elkészítése során az önálló munka kitétel tekintetében a feladatot kiadó és az azt ellenőrző | ||
+ | oktatót nem tévesztettem meg. | ||
+ | Jelen nyilatkozat elküldésével tudomásul veszem, hogy amennyiben a feladatot nem magam készítettem, | ||
+ | a tárgy oktatója befogadását és a félév aláírását megtagadja. | ||
+ | A levélhez csatolja a dokumentumot. | ||
+ | |||