Professional Documents
Culture Documents
Linux Alapok
Linux Alapok
Linux Alapok
2014. november 6.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 1 / 37
A Linux története
A Linux története
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 2 / 37
A Linux története A UNIX
A UNIX
Az els® operációs rendszer volt, amit nem egy konkrét gép as-
sembly nyelvén fejlesztették, hanem egy magas szint¶ nyelven, így
lehet®vé vált a rendszer egyszer¶ portolása más architektúrákra.
A trösztellenes törvény
értelmében az AT&T
nem forgalmazhatott
szoftvereket, ezért a
nyelvet és az operációs
rendszert ingyenessé
Thompson és Ritchie Brian Kernighan
tették.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 3 / 37
A Linux története A GNU-mozgalom
A GNU-mozgalom
Richard Stallman
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 4 / 37
A Linux története A Linux születése
A Linux születése
Linus Torvalds
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 5 / 37
A Linux felépítése
A Linux felépítése
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 6 / 37
A Linux felépítése A Linux kernel
A Linux kernel
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 7 / 37
A Linux felépítése A kernel feletti komponensek
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 8 / 37
A Linux felépítése Az X11
Az X11
A csomagkezel®k I.
Egy csomagkezel®:
képes egy program függ®ségeit (a futtatáshoz szükséges könyvtárak,
egyéb programok) nyilvántartani,
elvégzi egy program telepítését az azt tartalmazó csomagból,
képes a hiányzó függ®ségek automatikus telepítésére vagy az azokat
tartalmazó csomagok listázására,
automatikusan kezeli a csomagok frissítéseit,
képes a rendszer karbantartására pl. nem használt, elavult csomagok
eltávolítására.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 10 / 37
A Linux felépítése A csomagkezel®k
A csomagkezel®k II.
Pl.
A csomagkezel®k el®nyei:
nem kell egy program telepítésekor a függ®ségeket kézzel megkeresni
és telepíteni,
automatikus, egységes és biztonságos frissítési mechanizmust biztosíta-
nak,
a feltelepített csomagok listája elmentésével egyszer¶en és automatiku-
san reprodukálható egy m¶köd® rendszer.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 11 / 37
A Linux felépítése A csomagkezel®k
A csomagkezel®k III.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 12 / 37
A Linux felépítése A disztribúciók
A disztribúciók
Sok cég állít össze teljes felhasználói élményt adó ún. disztribúciókat
(distribution), amelyek általános felépítése a következ®:
friss Linux kernel,
GNU programok,
ablakozó környezet(ek) (GNOME, KDE, stb.),
egyéb ingyenes programok,
csomagkezel®.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 13 / 37
A Linux m¶ködése és használata
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 14 / 37
A Linux m¶ködése és használata Elérési út
Elérési út I.
/usr/include/c++/4.6.3/
Abszolút elérési útvonal: / jellel kezd®dik, tehát a gyökért®l elin-
dulva megadja egy könyvtár/fájl teljes elérését.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 15 / 37
A Linux m¶ködése és használata Elérési út
Elérési út II.
./amoba
az aktuális könyvtárban lév® amoba nev¶ fájlra/könyvtárra hivatkozik.
../obj/utils/string.o
a szül®könyvtárban lév® obj könyvtáron belüli utils könyvtárban
lév® string.o fájlra hivatkozik.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 16 / 37
A Linux m¶ködése és használata Elérési út
Elérési út III.
Amikor a parancssorban egy elérési útvonalat adunk meg (pl. egy pa-
rancs argumentumaként), akkor ha néhány bet¶ beírása után meg-
nyomjuk a TAB billenty¶t, a környezet megpróbálja befejezni a ne-
vet:
ha ez csak egyféleképp tehet® meg, akkor megteszi,
ha több lehet®ség is van, akkor kiírja ezeket majd folytathatjuk a gépe-
lést.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 17 / 37
A Linux m¶ködése és használata Hozzáférési jogok
Hozzáférési jogok I.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 18 / 37
A Linux m¶ködése és használata Hozzáférési jogok
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 19 / 37
A Linux m¶ködése és használata Hozzáférési jogok
Egy fájl teljes hozzáférési táblázata egy kilencbites érték, ami a követ-
kez®képpen alakul ki:
u g o
r w x r w x r w x
0 1 2 3 4 5 6 7 8
22 21 20 22 21 20 22 21 20
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 20 / 37
A Linux m¶ködése és használata Hozzáférési jogok
Pl.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 21 / 37
A Linux m¶ködése és használata Hozzáférési jogok
Hozzáférési jogok V.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 22 / 37
A Linux m¶ködése és használata Felhasználók azonosítása
Felhasználók azonosítása
/home/timi/
/home/jozsi/
ahol timi és jozsi felhasználónevek.
A felhasználó saját könyvtárának van rövid neve: ∼, míg egy másik
felhasználó home-jára így hivatkozhatunk: ∼jozsi.
Tehát pl. a
~/Music/listen.pls
a saját home könyvtárunkon belül lév® Music könyvtárban lév®
listen.pls fájl elérési útvonala.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 23 / 37
A Linux m¶ködése és használata A szuper felhasználók
A szuper felhasználók
M¶veletek könyvtárakkal
Könyvtárváltás: cd ~/Music/mp3
Könyvtár létrehozása: mkdir src
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 25 / 37
A Linux m¶ködése és használata M¶veletek fájlokkal
M¶veletek fájlokkal
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 26 / 37
A Linux m¶ködése és használata Programok futtatása
Programok futtatása
Ahhoz, hogy futtatni tudjunk egy fájlt, szükséges, hogy legyen futta-
tási jogunk rá.
Ha beírjuk egy program nevét, akkor a Linux a $PATH nev¶ környezeti
változóban felsorolt útvonalakon keresi a programot, amelynek alapér-
telmezett tartalma pl.
/usr/local/sbin:/usr/local/bin:/usr/bin:/bin
ahol az egyes elérési utak kett®sponttal vannak elválasztva.
Az aktuális könyvtár nincs benne ebben a felsorolásban, ezért ha az
aktuális könyvtárban található programot akarjuk futtatni, ak-
kor teljes elérési útvonallal kell megadni a nevet:
/home/nagger/bin/amoba
Természetesen használhatjuk a rövid neveket, ezért ha a
/home/nagger/bin könyvtárban vagyunk, akkor az itt található amoba
programot így is futtathatjuk:
./amoba
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 27 / 37
A Linux programozása
A Linux programozása
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 28 / 37
A Linux programozása Az I/O átirányítása
Az I/O átirányítása I.
ls > lista.txt
Ez a fájl létrejön, ha nem létezett és a tartalma felülíródik, ha már létezik.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 29 / 37
A Linux programozása Az I/O átirányítása
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 30 / 37
A Linux programozása A bash fájlok
A bash fájlok
# !/ bin / bash
ls | grep ab
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 31 / 37
A Linux programozása Változók
Változók I.
echo $szoveg
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 32 / 37
A Linux programozása Változók
Változók II.
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 33 / 37
A Linux programozása Változók
Változók III.
Név Jelentés
$HOME a felhasználó saját könyvtára (∼)
$HOSTNAME a gép neve
$LANG a felhasználó (op.rsz.) nyelve és szövegkódolása
$PATH parancsok keresési útja
$PWD aktuális munkakönyvtár
$USER a felhasználó bejelentkezési neve
$USERNAME a felhasználó teljes neve
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 34 / 37
A Linux programozása A for ciklus
A for ciklus
for v in lista ; do
ciklusmag ( hivatkoz ás ciklusv á ltoz ó ra : $v )
done
for v in `ls `; do
echo " Egy fá jl : $v "
done
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 35 / 37
A Linux programozása A feltételes elágazás
A feltételes elágazás I.
# !/ bin / bash
if ls | grep alma ; then
echo " alma lé tezik "
fi
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 36 / 37
A Linux programozása A feltételes elágazás
Név Jelentés
-d fájlnév könyvtár-e?
-e fájlnév létezik?
-f fájlnév szabványos fájl?
-r fájlnév olvasható?
-w fájlnév írható?
-x fájlnév futtatható?
# !/ bin / bash
if [ -e $file ]; then
echo " $file lé tezik "
else
echo " $file nem lé tezik "
fi
Nagy G., Timár A. (BME EET) A Linux alapjai 2014. 11. 06. 37 / 37