Kihagyás

Hasznos parancsok

Kapcsolódó alapfogalmak

Forráskód

Utasítások sorozata, általában szöveges formában megadva. A forráskód egy program különböző formái közül az, amelyik emberi megértésre és módosításra legalkalmasabb.

Fordított programoknál (pl. C, JAVA) a fordító a forráskód(ok) alapján készíti el a bináris futtatható fájlt. Értelmezett programoknál (Python, Bash, PowerShell) az értelmező a forráskód sorait értelmezi, és egyesével végrehajtja az utasításokat.

Fordító program

A fordítóprogram más programok, könyvtárak, modulok forráskódjának tárgykódúvá - tipikusan, de nem feltétlenül gépi kódúvá - alakítására képes pogram. Az átalakítási folyamatot, amelynek során az emberi szerkesztésre és megértésre tervezett forráskódot (valamely programozási nyelven leírt utasításokat) az adott célplatform által közvetlenül értelmezhető kódra kerül átalakításra, a program fordításának nevezzük.

A fordított programok általában lényegesen gyorsabban futnak, mint az értelmezett, vagy virtuális gépen futó társaik.

Szkript nyelvek

Szkriptnyelvnek azokat a programozási nyelveket szokás nevezni, amelyek tipikusan - de nem mindig - egy adott alkalmazás vagy működési környezet vezérlését teszik lehetővé elemi programmatikus utasítások segítségével. Ez utóbbiak sorozata ill. halmaza alkotja az ún. szkriptet. Fontos, hogy a szkript nem szabályokat, beállítások ír le és határoz meg - mint pl. egy konfigurációs állomány -, hanem elemi utasítások sorozatából áll, tehát maga is egy algoritmusokból felépülő programot alkot.

A szkriptnyelvek szinte kivétel nélkül értelmező által kerülnek futtatásra, bár a sebesség növelése érdekében nem ritka a bájtkódra történő futásidejű fordítás alkalmazása sem. Az értelmező maga ugyanakkor tipikusan gépi kódra fordított natív programként fut a vezérelt célalkalmazás vagy platform részeként. Ha szkriptnyelv értelmezője több platformon is fut, akkor a szkriptnyelvben magában íródott programok platformfüggetlenek is lehetnek (pl. Python).

További részletek a Szkriptnyelvek kurzus anyagában.

Imperatív nyelvek

Az imperatív paradigmát követő nyelvek esetén a programozó utasítások segítségével (felszólítja) éri el hogy a program megváltoztassa az állapotát.

A kurzus során csak az imperatív paradigmát követő szkriptnyelvekkel fogunk foglalkozni.

Automatizáció

A különböző (általában az oprációs rendszer által végrehajtott) szkriptek segítségével lehetőségünk nyílik szinte bármelyik korábban tárgyalt témához kapcsolódó műveletek konzisztens és megismételhető módon való végrehajtására.

Mikor hasznos szkripteket írni?

  • többszöri végrehajtás esetén
  • egyértelmű és szabványos dokumentálás céljából
  • végrehajtási sebesség (manuális végrehajtáshoz képest) növelése

Védelem

Csak megbízható forrásból származó szkriptet futtassunk le. Szükség esetén ellenőrizzük a szkript tartalmát.

A szkriptek parancsokból vagy utasításokból épülnek fel.

Parancsok felépítése

Számos szkriptnyelv létezik, mely több különböző parancsot és utasítást is tartalmaz. Bár ezek eltérnek, bizonyos általános irányelvek megfigyelhetőek a felépítésükben. Ezen irányelvek megértése nagyban segíti későbbi nyelvek megismerését. Az elveket pár példán keresztül fogom bemutatani. Ezek a példa nyelvek a PowerShell, a Bash és a Python.

Hal helyett háló

"Adj halat az éhezőnek és aznap megmented a haláltól. Tanítsd meg őt halászni-örök életére jóllakott lesz, sem ő sem családja nem szenved majd hiányt."

Bár bizonyos esetben fontos a parancsok és utasítások közötti különbség a továbbiakban ezektől eltekintünk és egységesen a parancsok kifejezést használjuk.

A parancsok szerkezete a következő általános sémát követi.

parancs = parancs neve paraméter lista

PowerShell

Másolás parancs: Copy-Item "C:\Logfiles" -Destination "C:\Drawings" -Recurse

parancs neve = Copy-Item
paraméter lista = "C:\Logfiles" -Destination "C:\Drawings" -Recurse

Python

Másolás parancs: shutil.copyfile('file1.txt', 'file2.txt')

parancs neve = shutil.copyfile
paraméter lista = ('file1.txt', 'file2.txt')

A paraméter lista

paraméter lista = paramtéter lista kezdetét jelölő paraméter paraméter elválasztó paramtéter lista végét jelölő

Bash

Másolás parancs: cp -v filename.txt filename.bak

paramtéter lista kezdetét jelölő = szóköz
paraméter elválasztó = szóköz
1. paraméter = -v
2. paraméter = filename.txt
3. paraméter = filename.bak
paramtéter lista végét jelölő = szóköz

Pozicióhoz kötött paraméterek

paraméter = (pozicióhoz kötött) paraméter értéke

A parancsok paramétereit nem csak a nevükkel hanem a poziciójukkal is azonosíthatjuk bizonyos nyelvekben, ilyen esetben a parancs neve akár el is hagyható.

Bash

Másolás parancs: cp -v filename.txt filename.bak

1. (pozicióhoz kötött) paraméter értéke = filename.txt
2. (pozicióhoz kötött) paraméter értéke = filename.bak

Python

Másolás parancs: shutil.copyfile('file1.txt', 'file2.txt')

1. (pozicióhoz kötött) paraméter értéke = 'file1.txt'
2. (pozicióhoz kötött) paraméter értéke = 'file2.txt'

Nevesített paraméterek

paraméter = paraméter jelölőparaméter neve érték elválasztó paraméter értéke

PowerShell

Másolás parancs: Copy-Item "C:\Logfiles" -Destination "C:\Drawings" -Recurse

paraméter jelölő = -
paraméter neve = Destination
érték elválasztó = =
paraméter értéke = "C:\Drawings"

Kapcsolók

paraméter = paraméter jelölőkapcsoló paraméter neve

A logikai értékket tároló paramétereknél bizonyos nyelvek megengedik, hogy a paraméter nevének puszta jelentléte fejezze ki a logikai értéket, ekkor az érték megadása nem szükséges. Vagyis ha megadjuk a paramétert akkor igaz értéket kap, hanem akkor hamisat.

PowerShell

Másolás parancs: Copy-Item "C:\Logfiles" -Destination "C:\Drawings" -Recurse

paraméter jelölő = -
kapcsoló paraméter neve = Recurse

Futtatás

Python

PowerShell

Bash

Gyakran használt parancsok

Az alábbi lista nem teljes, de jó kindulási alap további parancsok megismeréséhez.

Vigyázz a sudo-val!

sudo

A sudo egy olyan alkalmazás az Unix-szerű operációs rendszert futtató számítógépek számára, amely lehetővé teszi egy felhasználó számára, hogy egy másik felhasználó (általában a superuser, vagy a root) biztonsági jogosultságaival futtasson programokat. A sudo név a su parancs és a „do” angol szó összevonásának eredménye. Míg a su parancsnál a felhasználók a root jelszót adják meg, a sudo parancsnál a saját jelszavukat. A hitelesítés után, és ha a /etc/sudoers konfigurációs fájl engedi a felhasználói hozzáférést, a rendszer végrehajtja a megadott parancsot.

-f és --force

A force kapcsolók sok biztonsági ellenőrzést felül szoktak bírálni, pl. törlésnél nem lesz megerősítő kérdés. Ezért mindig körültekintéssel használjuk.

Dokumentáció és segítség kérés

Fájlok kezelése

Mappák kezelése

Felhasználói adatok beolvasása

Adatok kiírása

Szűrés és keresés

Gyakorlás

Gyakoroljunk!

Válasszunk egyet a fennti szkriptnyelvek közül és oldjuk meg a következő feladatot.

  • Hozzunk létre egy új mappát school néven.
  • Hozzuk létre benne az A, B és teachers mappákat.
  • Állítsuk be hogy a teachers mappát csak az aktuális felhasználó tudja írni és olvasni.
  • Készítsünk tetszőleges szerkesztővel egy fájlt a teachers mappába.
  • Másoljuk át a fájlt a többi mappába is.
  • Töröljük ki a B mappát.
  • Irassuk ki mindegyik mappa tartalmát egymás után.

Feladatok keresése

Keressünk olyan ismétlődő feladatokat, melyeket az oktatás során sokszor végre kell hajtani és esetleg megoldható lenne a fenti parancsokkal. Melyik parancsokat használnánk? Miért?

Projektmunka

Gondoljuk végig, hogy milyen műveleteket végeztünk el a projektmunka összeállítása során. Mely parancsokkal lehetett volna ezeket végrehajtani a fentiek közül?


Utolsó frissítés: 2021-04-27 13:05:33