„EDU::GAMF::Operációs rendszerek::Gyakorlatok” változatai közötti eltérés
(→mkdir) |
(→mkdir) |
||
| 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.