Linux terminál alapok, ami nélkül…

Linux tipp
Linux alapok

A mai videó és blogbejegyzés a Linux alapok, a terminál alapok témakörét öleli fel. A terminál alapok témát már többször körbejártuk, de érdemes lesz egy összefoglaló „kezdő készlet” cikket is elkészíteni. A szint, ha az iskolai osztályzatokat nézzük a kettes alá, azaz nagyon az alapok, és ha ezt tudod, akkor már el tudsz indulni. De nem lesz elegendő, hanem alapokra építeni is kell, minden parancshoz, kivéve a pwd-hez, olvasnod is kell.

 

Hol találok segítséget a terminál alapok témában?

Minden, – na jó, a legtöbb – parancsnak van helpje. A helpet a -h, vagy a –help kiegészítéssel kapod meg: cd -h vagy a cd –help adhatja meg a cd parancs alapvető kapcsolóit. Ezenkívül van az úgynevezett manual, azaz kézikönyv is, amit a man cp beírásával kapsz meg a cp parancshoz. Ezenkívül a Google keresőben is sok jó találatot kapsz, sok esetben nagyon alapos cikkeket és példákat az adott alap parancs használatához.

A cd parancs – navigálás

Alapvető parancs, a fájlrendszerben navigálhatsz vele. Alapvetően két módja van a navigálásnak. Az egyik a teljes elérési útvonal megadása, amikor a gyökér könyvtártól megadod a cp parancsnak a terminálban a célt, ahova el akarsz jutni:

cd /home/laci/Dokumentumok/Mentes/Doksik/Számlák

Ez a megoldás bárhol is vagy a megadott könyvtárba juttat el. Sok leírás, konfigurációs tipp, vagy telepítési utasítás adja meg így a pontos helyeket.

A másik megoldás, ha pld. a /home/laci/Dokumentumok könyvtárban vagy, és a csak a relatív útvonalat adod meg:

cd /Mentes/Doksik/Számlák

Így jellemzően az adott könyvtár szerkezetben tudsz navigálni.

Mindezt három lépésbe is megteheted, hogy előbb a
cd /Mentes
majd a
cd /Doksik
majd a
cd /Számlák

parancsot adod ki. Ezt hosszabb, de nagyon jó akkor, ha nem ismered a pontos neveket. Belépsz a Mentés könyvtárba, kilistázod a könyvtárakat, és megnézed a Doksik könyvtár pontos nevét, majd azt írod be.

A szülő könyvtárba való lépéshez, azaz egy könyvtárral feljebb lépéshez a

cd ..

parancsot, a fő, gyökér könyvtárba lépéshez

cd /
a saját home könyvtáradba ugráshoz a

cd ~

parancs a megfelelő. Ha ennyit tudsz már, akkor alapszinten megismerted a cd parancsot és bárhova el tudsz navigálni, ahova jogosultságod van.
Érdemes tudni, hogy csak meglévő könyvtárba tudsz navigálni, nem hozza létre az elérési útvonalat automatikusan, ha az nem létezik.

Hol vagyok?

A terminálos alap teendő – ha nem tudod – annak kiderítése, hogy pontosan melyik könyvtárban is vagy. Erre a pwd parancs a megfelelő. Kiírja a munka könyvtárat, amiben éppen tartózkodsz. Ezt érdemes a cd paranccsal együtt gyakorolni, mert meggyőződsz arról, hogy valóban oda érkeztél, ahova indultál.
Sok terminálos parancs, alapértelmezett működése szerint, abban a könyvtárban végzi el a munkáját, amiben van. Így érdemes mindig tudni, hogy hol is vagyunk. Egy teljes könyvtár törlése előtt, vagy egy letöltő parancs előtt érdemes egy pwd-t kiadni…

Listázás – ls – a terminál alapok alapja

Mi is van az adott könyvtárban? Ezt tudhatjuk meg az ls parancs segítségével. A rendszered beállítása, az aliasok és egyéb beállítástól függően eltérhet a kinézet és a megjelenítendő adatok milyensége, így ne csodálkozz, ha automatikusan színes lesz az ls kimenete, vagy éppen nem, csak alapszínnel jelenik meg. Ez nekünk jelenleg lényegtelen, az ls parancs alap használatát a terminálban ez nem érinti.

A parancs használata egyszerű:

ls

Kilistáz mindent, valamilyen formában. A könyvtárakat és a fájlokat is. Ezen és a kiírás bőségén, szortírozásán és egyéb kinézetbeli, minőségbeli jellemzőin további kapcsolókkal lehet pontosítani. Mindenképp nézz utána, hogy melyik kapcsoló mit jelent és miképp befolyásolja a kiíratást. Itt nem hozok fel példákat. Jelen alap terminál használatnál elegendő, ha megkapod a könyvtár vagy a fájl nevét.

A fenti három parancs adja a terminál alapok alapjait a navigálásban. Ha ezeket begyakorlod, akkor bárhova eljutsz, és a könyvtár tartalmát meg is tudod tekinteni. Most nem tértünk ki olyan kiegészítőkre, amik ezt a navigálást segítik, azokra, amik automatikusan kiegészítik a könyvtárnevet stb. egy tab vagy más gomb lenyomására. A legtöbb shell-hez léteznek ilyenek, de tanulj meg azok nélkül is navigálni. Hasonlóképp léteznek nagyon jó terminálos fájlkezelők, melyekkel villámgyorsan lehet navigálni, de tanulj meg azok nélkül is eljutni a célodig!

Terminál alapok: könyvtár létrehozása, törlése

Ha kapsz egy leírást, hogy hozz létre könyvtárat, vagy saját könyvtár szerkezeted szeretnéd bővíteni, létrehozni, akkor sem kell grafikus programot nyitni. Gyors és egyszerű módja a könyvtár létrehozásának az

mkdir könyvtárnév

megadása. Ez abban a könyvtárban hoz létre egy új, üres alkönyvtárat, amiben éppen állsz.

Itt is van lehetőség teljes elérési útvonal megadására, aminél megadhatod azt az útvonalat, amit el szeretnél készíteni:

mkdir /home/laci/Dokumentumok/Mentes/Doksik/Számlák/2021

Ekkor az összes könyvtárat létrehozza, ami nem létezik, azaz nagyon bosszantó tud lenni, ha van egy /home/laci/dokumentumok könyvtár és az mkdir-nek a nagybetűs verziót adom meg. Ekkor automatikusan nagybetűs Dokumentumok könyvtárat hoz létre.

A törlés ennek a testvére: rmdir paranccsal történik. Itt tudni kell, hogy biztonsági okok miatt csak üres könyvtárat tudsz törölni alapesetben. Ami először bosszantó tud lenni, de fogadjuk el, hogy ez értünk van. Nem tudsz kitörölni egy egész könyvtár szerkezetet véletlenül.

Terminál alapok: fájlok

Fájlok listázást már ismerd (ls), de sok esetben egy konfigurációs fájlt neked kell létrehozni, ha nincs alapból a rendszeredben. Ezt a

touch fileneve

paranccsal tudod megtenni. Ez logikusan az adott munkakönyvtárban hozza létre (pwd-vel megnézheted, hogy hol is vagy).
Itt is van lehetőség arra, hogy egy teljes elérési útvonalban add meg.

touch ~/.xprofile

A példa összetett: a ~ jel mutatja, hogy a saját könyvtárban akarsz létrehozni egy .xprofile nevű, rejtett fájlt.

Rejtett? Igen. Alap listázáskor sem grafikus, sem terminál felületen nem fogod ezeket látni, így az ls -a parancsot érdemes megjegyezni. A rejtett fájlok, könyvtárak nem azért rejtettek, mert valami titkot tartalmaznak, hanem mert jellemzően beállításokat, konfigurációkat. Általában nem a napi munkánk ezeket szerkeszteni, így alapból nem is kell látni ezeket. Ha meg szerkeszteni kell, akkor tudjuk, hogy miképp jelenítsük meg őket.

A fájlok törlése az rm paranccsal történik. Itt két nagy odafigyelést igényló kapcsolót érdemes megjegyezni, és kissé begyakorolni. A -r kurzív módon működik, azaz a megadott alkönyvtárat teljesen kiüríti, míg a -f kikapcsol minden megerősítő párbeszédablakot. A parancs erőteljesebb változatát sudo rm -rf ./ nagyon körültekintően kell használni. Figyelem és panasz nélkül törölheti a root, a rendszer gyökér tartalmát, ezért óvatosan bánj vele.

Sudo? Igen, alapesetben a saját dolgaidhoz férsz hozz, és a teljes rendszert nem érintő műveleteket végezheted el. De időnként szükség lehet arra, hogy rendszergazdai joggal dolgozz. A sudo-t a parancs elé írva bekéri a jelszavadat és máris bármit megtehetsz. Ha nincs komoly indokod, akkor ezt kerülni kell. Amit lehet saját neved alatt végezz el.
A másik emelt joghoz való hozzáférést a su parancs adja. Ilyenkor nem egy ideiglenes emelt jogú felhasználó leszel, hanem átlépsz rendszergazdai felhasználói fiókba. Ami nem teljesen ugyanaz, mert itt már semmi korlátozás, amit esetleg a sudo-hoz beállítottál (vagy a rendszergazda, disztribútor) nem lesz akadály. Ezt sem kellene minden szíre-szóra használni.

Fájl mozgatása sem túl nagy feladat

mv fájlneve /útvona/újnév

A másolás is hasonlóképp történik, csak a cp parancsot adod ki.
Bár mindegyik parancs egyszerűnek tűnik, de kis gyakorlás nem árt! Érdemes itt is pár (legalább egy) internetes leírást elolvasni, mert sokat tudnak és a másolás (cp) parancs a legegyszerűbb mentő parancs is. Amire igazából sokszor szükséged lesz, hogy ments le az éppen aktuális szerkesztendő fájlt szerkesztés előtt…

Szöveges fájlok megjelenítése, és szerkesztése

Alapvető feladatunk a konfigurációs fájlok megjelenítése, és azok szerkesztése. Két programot érdemes megismerni:

cat fájlnév

Simán kiírja a fájl tartalmát a terminálra, ami nem túl kényelmes ha sok a szöveg. Bár lapozni lehet benne, de igazából jobb lenne, ha laponként jelenne meg, és ha kell akkor tovább lapozhatnánk.

more fájlnév

Amíg a cat bármilyen fájl tartalmát kiírja, legyen az pld. egy iso fájl is (zagyvaság lesz!), a more csak szövegeket hajlandó kiírni.

A terminálos alapok témakör fontos eleme a szöveg, jellemzően a konfigurációs fájl szerkesztése terminálos programmal. Én kettőt szoktam javasolni és egyet használok. A nano illetve az ncedit. Mindegyik nagyon jó, mert alul ott van egy kis súgó, ami kiírja a főbb műveletek elvégzéséhez tartozó gyorsbillentyűket. Bár mindegyik sokkal többet tud, de én csak pár fontosabb részt érintek, amivel elvégezheted a szerkesztési feladatokat.

Megnyitás: nano elérésiút/fájlneve

Navigálás a kurzorral: nyilak
Kiíratás, mentés: ctrl + o
Kilépés: ctrl + x

Ha ennyit tudsz, akkor már beleírhatsz a konfigurációs fájlba, és azt menteni tudod.

Ha problémád van a rendszerrel két alap kérdésre mindenképp számítsál.

Milyen disztribúciót használsz?
lsb_release -a

Milyen kernelt használsz?
uname -r

Ha valóban be szeretnéd biztosítani magad, hogy a rendszeredet érintő leggyakoribb kérdésekre mindenképp választ tudj adni: inxi. Ha nincs fenn, most telepítsd. Majd az inxi -h futtatásával nézd meg a lehetséges lekérdezési opciókat. Majdnem minden felmerülő kérdésre adhatsz választ.

Sok esetben a tároló eszközökre is kíváncsi lehetsz:

lsblk

parancs mindent megmutat. Ahogy a videóban is látni, elég vizuálisan mutatja az adott állapotot.

Ha több információ kell mindenképp érdemes az inxi parancsot telepíteni, majd kissé megismerni. Minden főbb paramétert lekérdezhetsz. A használata egyszerű, a legegyszerűbb, ha a help-et megnézed és a leggondosabb kapcsolókat kipróbálod. Bár minden információt amit az inxi tud lekérdezheted más paranccsal is, de a rendezettsége, és sokoldalúsága miatt sok esetben egyszerűbb ezt használni.

Ennyi. Bár ezeket sokan ismerik, szerintem mindenki, de nem árt a terminál alapok témát átismételni.