„EDU::GAMF::Operációs rendszerek::Gyakorlatok” változatai közötti eltérés

Innen: Farkas Attila Wiki
Ugrás a navigációhoz Ugrás a kereséshez
124. sor: 124. sor:


# az aktuális könyvtárban jön létre egy ''test'' könyvtár és azon belül a ''folder'' könyvtár
# az aktuális könyvtárban jön létre egy ''test'' könyvtár és azon belül a ''folder'' könyvtár
mkdir test/folder
mkdir -p test/folder


# a jelenlegi könyvtárban létrejon a ''test'' könyvtár,  
# a jelenlegi könyvtárban létrejon a ''test'' könyvtár,  

A lap 2023. szeptember 21., 13:30-kori változata

1. óra

Az első óra a tantárgy és annak követelményeinek ismertetésével kezdődik, majd egy-két alap utasítást tekintünk meg. Ezután a programok csatornáival folytatjuk.

Parancsok és példák

man

A man parancs segítségével megtekinthetjük egy-egy alkalmazás, parancs, esetleg külső könyvtár függvényeinek dokumentációját.

Használata: A program neve után írhatjuk, hogy melyik alkalmazás, parancs vagy esetleg külső könyvtár függvényének dokumentációját szeretnénk megtekinteni. Megtekinthetjük ily módon a man parancs használati útmutatóját is a következő utasítás kiadásával:

man man

Hasonló módon alkalmazhatjuk bármelyik parancsra, amelyek ezen a weboldalon felsorolásra kerültek. Pl. a head utasítás dokumentációját az alábbi módon érhetjük el

man head

ls

Érdemes megtekinteni a parancs dokumentációját a man ls utasítás kiadásával, tisztában legyünk ez elérhető kapcsolókkal és funkciókkal.

Az ls parancs segítségével listázhatjuk a mappa tartalmát. Alapértelmezetten a ., tehát a jelenlegi könyvtárat listázza.

# meghívás paraméter nélkül
ls

# meghívás . paraméterrel - ugyanaz az eredmény
ls .

A listázni kívánt könyvtár nevét megadhatjuk paraméterben:

# root könyvtár listázása
ls /

# a /usr/local/bin könyvtár listázása
ls /usr/local/bin

Érdemes megjegyezni a hosszú formátumú kiírást, aminek segítségével a fájlrendszer bejegyzések jogosultságait és méretét kérhetjük le.

# Jelenlegi könyvtárban listáz minden elemet és azok tulajdonságait
ls -l

# A /bin/ls fájl jogosultságainak lekérdezése
ls -l /bin/ls

Próbáljuk ki, hogy ha egy mappa nevével futtatjuk le a parancsot, akkor az ls megnyitja a könyvtárat és annak tartalmát listázza ki.

# a /bin könyvtár tartalma listázódik, nem a /bin könyvtár maga
ls /bin

Ez különösen akkor okoz problémát, ha például az adott könyvtár jogosultságait szeretnénk megtekinteni. Ekkor két választási lehetőségünk adódik:

# A felette lévő könyvtárat listázzuk és kikeressük a megfelelő bejegyzést
ls / -l

# használjuk a -d kapcsolót, aminek segítségével felszólítjuk az ls-t, hogy ne nyissa meg az adott könyvtárat
# Ekkor a könyvtár listázódik, nem a tartalma
ls -d /bin

pwd

A pwd parancs segítségével lekérdezhetjük annak a könyvtárnak az abszolút elérési útvonalát, amelyben éppen benne vagyunk.

A parancsot főleg arra használjuk, hogy aktuálisan mellettünk elhelyezett fájlok és könyvtárak abszolút útvonalát ki tudjuk alakítani.

pwd

cd

A cd parancs segítségével könyvtárat válthatunk (changedir). A cél könyvtár nevét paraméterben kell megadnunk.

# root könyvtár megnyitása
cd /

# HOME könyvtár megnyitása
# ~ egy alias
cd ~

# /usr/bin megnyitása
cd /usr/bin

A hivatkozásoknál, így a cd esetében is lehetőségünk van relatív és abszolút hivatkozásokat használni:

  • Az abszolút hivatkozás / elérési út mindig / jellel kezdődik. pl.: cd /home/, cd /usr/bin
  • A relatív hivatkozás vagy nem rendelkezik kezdőkarakterrel: cd home, cd bin, vagy . illetve .. karakterekkel kezdődnek.
    • A . könyvtár jelenti az aktuális könyvtárat
    • A .. könyvtár jelenti a szülő könyvtárat
# szülő könyvtár megnyitása
cd ../

# a szülőkönyvtárban található bin könyvtár megnyitása
cd ../bin

# az aktuális könyvtárban található bin könyvtár megnyitása
cd ./bin
cd bin      # vegyük észre: a ./ ez esetben elhagyható

mkdir

Az mkdir parancs segítségével könyvtárakat hozhatunk létre (make directory). Alapértelmezetten a . könyvtáron (tehát ahol éppen tartózkodunk, azon a könyvtáron) belül hozza létre az új mappát, de lehetőségünk van mind relatív, mind abszolút hivatkozások használatára.

# folder könyvtár létrehozása az aktuális könyvtárban
mkdir folder
mkdir ./folder2
# subfolder létrehozása a folder könyvtáron belül.
mkdir folder/subfolder

# létrehozás a /tmp könyvtáron belül, akárhol is vagyunk
mkdir /tmp/folder

# folder létrehozása a szülőkönyvtárban
mkdir ../folder

A fentebb leírtak alapján egyetlen könyvtárat hozhatunk létre, egy már létező könyvtáron belül, legyen az éppen az, amiben tartózkodunk, vagy valahol máshol a fájlrendszerben. Azonban előfordul, hogy egyszerre több mappát szeretnénk elkészíteni, például egy mélyebb struktúrát szeretnénk kialakítani, mint ami a rendelkezésünkre áll. Ezt természetesen megtehetjük úgy, hogy az egyes szinteket egyesével hozzuk létre, de alkalmazhatunk kapcsolót, amelynek segítségével a nem létező szülőkönyvtárakat is létrehozza, amennyiben nem léteznek.

# root könyvtáron belül létrejön egy ''test'' könyvtár és azon belül jön létre a ''folder'' könyvtár.
mkdir /test/folder/ -p

# az aktuális könyvtárban jön létre egy ''test'' könyvtár és azon belül a ''folder'' könyvtár
mkdir -p test/folder

# a jelenlegi könyvtárban létrejon a ''test'' könyvtár, 
# azon belül létrejön egy ''folder1'' és egy ''folder2'' könyvtár, 
# majd mind a kettőben létrejön a ''work'' könyvtár.
mkdir -p test/{folder1,folder2}/work

Természetesen ahhoz, hogy egy könyvtárban további fájlokat vagy könyvtárakat hozzunk létre jogosultság szükséges.

rmdir

cp

mv

rm

less

which

file

echo

cat

head

tail

wc

more

less

find

Programok csatornái

STDIN

STDOUT

STDERR

Pipeline

Parancsbehelyettesítés

2. óra

A második órát az alap utasításokkal folytatjuk. Utána scriptek írásával folytatjuk, amelyben megtekintjük a különböző vezérlési szerkezeteket is.

Parancsok és példák

mcedit

chmod

shift

cut

sort

tr

if

for

while

seq

read

Script létrehozása

  • Script megírása
  • Futási jog

Pozicionális paraméterek

Változók

Vezérlési szerkezetek

3. óra

A harmadik órán reguláris nyelvekkel foglalkozunk. A nyelv szintaktikai elemzése után a BASH-ben erre alkalmas szoftvert, a grep-et foguk megvizsgálni.

Reguláris kifejezés szerkezete

Parancsok és példák

grep

4. óra

A negyedik órán a reguláris kifejezések elkészítését gyakoroljuk különböző példákon keresztül. Főleg scripten belül használjuk.

Feladatok

5. óra

Az ötödik órán minta ZH feladatsort oldunk meg.