Előszó:
A linux világában maga a grafikus felület is “csak” egy process / alkalmazás. Cél alkalmazás esetén nincs vagy nincs is szükségünk grafikus felületre (pl routerek, vagy webszerver). Alapvető gondolkodásbeli különbség figyelhető meg egy windows / linux operációs rendszer között. Míg linux alatt elsődleges cél az alkalmazás működése, melyet terminál / shell (mint pl bash) előtt ülve vígan tudunk használni csak parancsokkal, addig windows alatt legalább akkora hangsúlyt kap az alkalmazás kinézete, kezelőfelülete. Pontokba szedve az okokat, miért:
- Linuxra, mivel a grafikus felületek könnyen válthatóak, sok változata van (pl Gnome; KDE; LXDE; XFCE), illetve másképp viselkednek, ezért “időrabló” folyamat sokféleképpen megcsinálni ugyanazon kezelőfelületet.
- Windows alatt egységes, szorosan a rendszerbe épülve érhető el (nagy vonalakban) ugyanazon grafikai felület.
- Linux használata a szerverek-világában általában SSH-n keresztül történik. Semmi szükség és lehetőség sincs grafikus eszközt használni (X11 forwardingra van lehetőség ha a távoli rendszeren van telepítve GUI). Ez a mód lényegesen sávszélesség-kímélőbb mód, mint bármely más távoli grafikus kliens.
- Mindaz, ami megoldható grafikus felület által (menük / menüpontok / szalagok) csak töredékét képezi a karakteres módon bevihető parancsok számának. Ez igaz mindegyik operációs rendszerre illetve egyre inkább igaz windows esetén is.
- Windows alatt terminál / shell szerű megoldások kezdetben puritánok voltak (parancssor / Windows Scripting Host), kevés lehetőséggel, azonban napjainkra jól használható rendszer héjat hozott létre a Microsoft PowerShell néven.
Tanácsok:
- Linux alatt a “teszt.txt” és “teszT.txt” 2 különböző fájl! Számít a nagy és kisbetű!
- Bash parancsértelmezőnek köszönhetően “TAB” gombra automatikusan kiegészíti az útvonalakat, vagy parancsokat! (pl ha beírjuk, hogy “c” és 2x megnyomjuk a TAB gombot, kilistázza az összes olyan parancsot, ami “c” betűvel kezdődik. Ha beírjuk hogy “cd /ho” és nyomunk 1x TAB billentyűt, akkor kiegészíti azt “cd /home/”-ra [ha több könyvtár lenne “ho”-val kedve, akkor a lehetőségeket listázza ki])
- Linux esetén ha valamelyik parancsra nincs válasz / kimenet (nem ír ki semmit), az azt jelenti, hogy a parancs problémamentesen végrehajtódott. A logika: Nincs kijelzés / visszajelzés teljesen addig, míg nincs baj.
Parancsok:
Terminál csak a “monitorunk”, alatta egy shell, azaz héj értelmezi a a parancsainkat:
Legelterjedtebb héj a Bash. Ennek a parancs-értelmezőnek köszönhető a TAB-kiegészítés, szintaktikai ellenőrzés és maga a parancs értelmezés.
Parancsok felépítése:
Mozgás könyvtárak között: cd (change directory). A parancs hivatott a working-directory-t, azaz a helyet ahol dolgozunk egy másik megadottra változtatni, azaz könyvtárak között lépkedni. Ugyanaz, mint amikor grafikusan az intézőben lépegetünk a mappák között.
Linux alatt nincs “c:” vagy “e:” meghajtó. Az egész rendszer egy nagy fa-szerkezet, minden rendszerelemnek, meghajtónak és fájlnak megvan a maga helye.
cd . –> Lép az aktuális mappába. Általában nem használjuk, hisz már az aktuális mappában vagyunk, azonban speciális esetekben szükség lehet rá.
cd .. –> Vissza lép egy szintet.
cd /home/brassai/Asztal –> Abszolút útvonal, azaz bárhol is állunk, vagy álltunk előzőleg, a könyvtár váltás célja: “/home/brassai”.
cd ../Asztal –> Relatív útvonal. Ahol állunk, ahhoz képes visszalépünk egy szintet, majd onnan az “Asztal” könyvtárba lépünk. Scripteknél ritkán használjuk. Míg Abszolút útvonal esetén állhatunk bárhol, a cél ugyanaz marad hisz konstans megadtuk a teljes utat, addig relatív útvonal esetén a cél-könyvtár útvonalát adjuk meg a jelenlegihez képest.
Aktuális könyvtár tartalmának kilistázása: ls (list). A working-directory (ahol éppen állunk) tartalmát listázza ki. Érdemes a parancs kapcsolóit használni, mellyel a kimenetet formázni illetve többlet-információhoz is lehet jutni. A kapcsolók sorrendje nem fontos ( -ltrha ugyanaz mint – hatrl), illetve külön-külön is megadható (ls -l -t -r -h -a)
ls -ltrha –> Mindenki kialakíthat saját szokást, hogy használja. Általánosságban ezen kapcsolók használatával egy jól átlátható és olvasható kimenetet kapunk.
Fájl tartalmának kilistázása: cat . Fájlok tartalmát jeleníti meg.
cat /etc/hosts –> Terminálba megjeleníti a fájl tartalmát. Figyelni kell, mekkora fájlt jeleníttetünk meg vele, mivel az egész tartalmát kiírja. Nagy fájlok esetén / bináris fájlok esetén nem használjuk!
Redirecting, azaz átirányítás: “>” vagy “>>”. Az átirányítás, mint eszköz sok esetben hasznos és használatos. Lényege, hogy az adott parancs kimenetelét átirányítja egy másik parancsba, vagy fájlba. Scritpeknél, de akár egyszerű loggolásoknál is használt, egyszerű eszköz. Most a history parancs segítségével mutatom meg a használatát.
> –> Átirányítás. Ebben a módban az előző parancs kimenetele bele lesz irányítva a megadott fájlba. Fontos: Ebben az esetben a fájl tartalmát felülírja!
>> –> Átirányítás hozzáfűzéssel. Ebben a módban is az előző parancs kimenetele bele lesz irányítva a megadott fájlba. Fontos: Ebben az esetben a fájl tartalmához hozzáfűzi a jelenlegi kimenetet!
Segítség:
Nem elvárható, hogy tudjuk az összes parancs összes kapcsolóját és helyes használatát. Erre gondoltak a linuxot készítő emberek is, ezért több mód is van segítséget kapni rendszeren belül, internet nélkül. Érdemes őket megnézni, tapasztal alapján használni, melyik célravezető számodra, de ne felejtsük el, hogy a manapság a google sokat segít nekünk, sokszor kisebb energiabefektetéssel is megtaláljuk azt, amit keresünk.
Parancs saját help-je: Szinte minden parancs rendelkezik saját beépített help-el, sőt, általánosságban elmondható bármely scriptről is (erre szokjunk majd rá, mi is írjunk a saját scriptünkhöz helpet!)
[parancs] -h VAGY [parancs] –help –> “-h” kapcsoló (help) általában egy rövid, lényegre törő használati módot ad nekünk. pl.: cat -h vagy cat –help
Ne felejtsük el, a google sok esetben hasznosabb, de érdemes legalább 2 eszközt a felsorolt segítségek közül használni, mert egyes esetekben nincs internet-elérésünk (új szerver telepítve)!
Néhány hasznos link: