# 1. videó segédlet ## Mi is a Linux ## CLI, terminál, shell <Note type="tip" label> Ez a fejezet sok fogalmat tartalmaz, kérlek **_ne_** magold be ezeket. Csupán annyi a célja a fejezetnek, hogy akik nemigazán használtak CLI-t, azoknak bemutasson pár alapelemet. A fő cél, hogy értsd, tudd használni; nem az, hogy tudd a definíciókat. </Note> ### CLI **C**ommand **L**ine **I**nterface, egy felhasználói felület, ami alapvetően szövegesen kommunikál a userrel. Szöveg be → szöveg ki. Ennél sokkal bővebben nem hiszem, hogy bárkinek is be kell mutatni, hogy mit jelent. ### Terminál Ez jeleníti meg a karaktereket és adja meg a programnak a beírt karaktereket. Régebben külön céleszközök voltak, ma már programok. Miki: ide rizsa pls ### Shell Egy olyan CLI program, amibe parancsokat lehet bepötyögni és a shell a megfelelő programokat elindítva és összekapcsolva<sup>(erről később lesz szó)</sup> lefuttatja azt. Miki: ide is ### Pár ismertebb shell #### `sh` [Bourne shell](https://en.wikipedia.org/wiki/Bourne_shell) (a készítőjének neve után) vagy [POSIX shell](https://en.wikipedia.org/wiki/Unix_shell) Egy butább shell, ami megtalálható minden UNIX-szerű számítógépen. Jó régen, az eredeti UNIX-hoz hozták létre a Bourne shell-t, ami később [bővítve](https://en.wikipedia.org/wiki/KornShell), majd specifikálva lett a [POSIX](https://en.wikipedia.org/wiki/POSIX) szabványban. #### `bash` **B**ourne-**a**gain **sh**ell, dupla szójáték. 😉 A [bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) az alapértelmezett shell a Linux disztribúciók túlnyomó többségén. Később ezzel fogunk dolgozni. Kellően okos és többnyire elvárható, hogy ott legyen mindenhol, ahova beléptek. A hatalmas elterjedtsége (és nagy kompatibilitása) miatt esett erre a választás. #### `zsh` [zsh](https://en.wikipedia.org/wiki/Z_shell) vagy Z shell. Gyakorlatilag a bash kibővítése, a legtöbb Linuxos disztrón csomagkezelővel telepíthető, emellett macOS-en alap shell. Minden bash parancs működik itt is, de nem minden zsh parancs működik bash-ben. #### `fish` [fish](https://en.wikipedia.org/wiki/Fish_(Unix_shell)), **f**riendly **i**nteractive **sh**ell. Különlegessége, hogy kifejezetten felhasználóbarátnak van tervezve, alapbeállításokkal is nagyon kényelmes használni. Azonban *nem* POSIX shell, vagyis a következőekben bemutatott parancsok nem feltétlenül működnek benne. <Note type="warning" label> Innentől bash-ről lesz szó. Ha olyat olvasol, hogy "írjuk be a shellünkbe", akkor ott a "bashünkre" gondolunk. </Note> ### Hogy is néz ki? TL;DR: sokféleképpen. Például sok helyen így néz ki az alap beállításokkal: ``` [mike@thinkyboi ~]$ ls *.pdf mozilla.pdf [mike@thinkyboi ~]$ ls *.txt asd.txt ize.txt metrics.txt pcr2.txt pcrtouse.txt pcr.txt [mike@thinkyboi ~]$ ls *.txt | grep rt pcrtouse.txt [mike@thinkyboi ~]$ ``` Ez mit is mutat? - `[mike@thinkyboi ~]$`: a prompt - mutatja, hogy a `mike` user van belépve - a `thinkyboi` nevű számítógépre - éppen a `~` mappában vagyunk - sima user jogosultságokkal `$` - `ls *.pdf`: egy parancs, ami minden .pdf végű fájlt kilistáz - `ls *.txt`: egy parancs, ami minden .txt végű fájlt kilistáz - `ls *.txt | grep rt`: egy parancs, ami minden .txt végű fájlt kilistáz, mely nevében megtalálható az "rt" Ne ijedjünk meg az ismeretlen fogalmaktól, erről mind lesz szó bővebben. ### Pár shelles fogalom #### Mi a parancs? #### Redirekció `>` #### Pipe `|` #### Shell execution #### Manual page `man` #### [Egyéb hasznos ](https://devhints.io/bash) ### Szövegszerkesztők #### Nano # Csomagkezelés ### Mi a csomag? ### Hogyan telepítsünk csomagokat? ### Különböző csomagkezelők | parancs | apt | dnf | pacman | snap | flatpak | |---|---|---|---|---|---| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ## Hogyan néz ki a Linux fájlrendszere? ### Könyvtárak #### Root `/` ## Jogosultságkezelés ### Jogosultságok ### Speciális jogosultságok ### Különböző alanyok