Felhasználói eszközök

Eszközök a webhelyen


speclab-inf:laborok:labor06

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

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: http://okt.kmf.uz.ua/dw/doku.php?id=st-linux_alapok:st-linux_alapok\\
 +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 "Jelenitse meg a kepernyon az elso n (n<90) Fibonacci szamot!"
 +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 '^[0-9]*$'`
 +#
 +# megjelenk az a a kepernyon (ha nincs #)
 +# echo "a= $a"
 +#
 +# ellenorzi, hogy a szam-e
 +# ha az elso ES masodik parametert kellene ellenorizni, akkor:
 +# if test -n "$a" -a -n "$b"
 +# tehat:       ha az "a" ES a "b" IS szam 
 +
 +  if test -n "$a"
 +# 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 "     Fibonacci szamok:"
 +    echo "     $f1"
 +    echo "     $f2"
 +# 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 '+' $f2`
 +    echo "     $fibo"
 +# 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
 +
 +</code>
 +
 +Adjon futási jogot és ellenőrizze és vizsgálja meg működését:
 +{{ :speclab-inf:laborok:labminta201703.png?direct&645 |}}
 +Próbálja ki a szkript működést különböző paraméterekkel.
 +  ./labminta.sc 99
 +  ./labminta.sc 7 7
 +  ./labminta.sc b
 +  ./labminta.sc
 +  
 +  
 +  
 +==== 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, hogy az első paraméter kisebb mint a második.
 +  - Í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, hogy egész szám és kisebb mint 50.
 +  - Írjon szkriptet, ami megjeleníti a két paraméterében megadott évszámot és azok közötti évszámokat, amennyiben ezekben az években a húsvét vasárnap a nyugati és az ortodox egyházban ugyanarra a napra esik. A szkript ellenőrizze, hogy két paramétert adott meg, azok egész számok. A 2. paraméter nem lehet kisebb mint az első.
 +
 +==== 6. Feladat ====
 +A szkripteket <MONOGRAM>1.sc és <MONOGRAM>2.sc néven mentse. Működésükről készítsen legalább két képet és illessze be a dokumentumba.
 +
 +==== 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.
 +
  
speclab-inf/laborok/labor06.txt · Utolsó módosítás: 2019/10/13 22:45 szerkesztette: pferi