5 perces terminál gyorstalpaló

Előbb utóbb minden kezdő Linux felhasználó találkozik a terminállal. Sok féle néven szokták emlegetni: terminál, shell, konzol, parancssor, stb. Eleinte a legtöbb ember idegenkedik tőle, ezért most megpróbálok pár egyszerű (de nagyszerű) alapvető dolgot megmutatni, aminek segítségével, kényelmesen, a billentyűzetről el lehet végezni néhány rendszer műveletet.

Kezdhetjük? Mivel minden Linux terjesztés más és más, ezért nem fogom részletesen taglalni, hogy melyiken hogy kell megnyitni a terminált.

Tények

  1. Majdnem mindent meg lehet csinálni terminálban, amit a grafikus felhasználói felületen (GUI) is.
  2. A legtöbb parancs először a terminálban működött, majd később kapott GUI-t. Ezért van az, hogy néhány program felhasználói felülete olyan amilyen...
  3. Általában a felhasználói könyvtár az alapértelmezett hely a terminál megnyitása után: ~
  4. Az aktuális könyvtárat a . operátor jelöli. A legtöbb parancs, ami az aktuális könyvtárban dolgozik, a . operátorral működik.
  5. A parancsok, a helyek és a fájlok kis/nagybetű érzékenyek. A /home nem ugyanaz mint a /HOME vagy a /Home.
  6. A Tab billentyűvel kiegészíthetők a fájlnevek. Ha van egy jó hosszú nevű fájlod, pl "nagyon-hosszu-nevu-fajl-ez.sh", akkor a terminálban elég csak beírni a "nag"szót és megnyomni a Tab-ot. Ha van még "nag" szóval kezdődő fájlnév a könyvtárban, akkor felsorolja őket. Ekkor több karakert kell beírnod pl "nagy" és Tab.
  7. Majdnem minden parancshoz van részletes leírás (man page) vagy a parancs után írt -h vagy --help opció is ad leírást a parancsról. Pl:
    man parancs_neve
    parancs_neve -h
    parancs_neve --help
  8. Ha még több információt szeretnél, akkor használhatod az info parancsot is. Egy parancsot így lehet megkeresni: info parancs_neve. Ezek a parancsok a legtöbb esetben az alaptelepítés (coreutils) részei, amelyekről az info coreutils parancs_neve invocation parancs kiadásával lehet információt szerezni.
  9. A legtöbb parancs egyértelműen megjeleníti, hogy mi is történik éppen. Ezt a -v vagy a --verbose opcióval lehet finomítani.
  10. Egy parancshoz egy időben akár több kapcsolót is megadhatunk, pl: ls -al (példa lejjebb)
  11. A parancsnevek nem mindig beszédesek. Ezek a régi Unix időkből származnak az akkori korlátos tárhelynek és névadási konvencióknak köszönhetően.

Parancsok

cd könyvtárak váltására használható (change directory)

  1. cd ez visszavisz a saját (home) könyvtáradba, ugyanúgy mint a cd ~
  2. cd .. egy könyvtárszinttel feljebb lép. Ha pl kezdetben a /home/user könyvtárban voltál, akkor a cd .. után a /home lesz az aktuális könyvtár. Ha két szintet szeretnél feljebb lépni, akkor a cd ../.. parancsot kell kiadni.
  3. cd konyvtar/ belépés az aktuális könyvtárban lévő konyvtar nevű könyvtárba. Ha pl a /home/user könyvtárban vagy és szeretnél belépni az Asztal könyvtárba, akkor a cd Asztal/ parancsot kell kiadnod.
  4. cd /valami/masik/utvonal ez elvisz a megadott könyvtárba, feltéve létezik és helyesen adtad meg. Itt is lehet használni a Tab billentyűt a kiegészítéshez.

ls kilistázza az aktuális könyvtár tartalmát.

  1. ls egyszerűen csak kilistázza az aktuális könyvtárban található fájlokat és könyvtárakat. Ugyanezt csinálja az ls . is.
  2. ls -l egy hosszabb, táblázatos formában megjeleníti a tulajdonosokat, jogosultságokat, méretet és a módosítás dátumát is.
  3. ls -a megjeleníti a rejtett fájlokat és könyvtárakat is a normál listában.
  4. ls -al az előző két parancs kombinációja: a hosszú listában megjeleníti a rejtett fájlokat is.
  5. ls -h a fájlméreteket olvashatóbb formában jeleníti meg: K, M Gbyte. Leginkább a -l
  6. kapcsolóval használjuk: ls -lh
  7. Azokba a könyvtárakba is be lehet nézni, amiben nem vagyunk. Pl a /home/user/Asztal könyvtárban vagy és meg akarod nézni a /home/user tartalmát, akkor azt az ls ../ parancsot kell használnod.

cp fájl másolás

  1. cp fajl /cel/konyvtar átmásolja a megadott fájlt a célkönyvtárba.
  2. cp -r konyvtar /cel/konyvtar alkönyvtárakkal együtt átmásol egy könyvtárt a másikba.
  3. cp *.kiterjesztes /cel/konyvtar csak a megadott kiterjesztésű fájlokat másolja át a megadott könyvtárba.
  4. cp nev* /cel/konyvtar csak azokat a fájlokat másolja át, amiknek a neve a "nev" szóval kezdődik.

mv fájl áthelyezés

  1. Az mv parancs szintaxisa hasonló mint az előző cp parancsé, de pl egy könyvtár áthelyezéséhez alkönyvtárakkal együtt nem kell megadni a -r kapcsolót.

rm fájl törlés

  1. Az rm parancs használatával a fájlok véglegesen törlődnek, nem kerülnek be a Lomtárba. Ezért csak körültekintően használd! Győződj meg arról, hogy tényleg azt törlöd amit akarsz, és nem azt amiről azt hiszed, hogy azt kellene.
  2. rm file törli a rendszerből a megadott fájlt.
  3. rm -r konyvtar törli a rendszerből a megadott könyvtárt.
  4. rm -rf könyvtár megerősítés kérés nélkül törli a rendszerből a megadott könyvtárt. Mivel nem tesz fel kérdést a törlés előtt, előfordulhat, hogy olyat is letöröl, amire szükség van. Szélsőséges esetben akár az egész rendszert tönkreteheti. Ha lehet, akkor inkább kerüld, vagy csak akkor használd ha tényleg nincs más választás.

nano parancssoros szövegszerkesztő

  1. A nano segítségével mindenféle szövegfájlt lehet szerkeszteni a kis vackoktól kezdve a teljes konfigurációig. Nagyon könnyű használni, de fontos tudni, hogy csak szövegfájlokat kezel.
  2. Ha egy fájl tulajdonosa a root, akkor normál felhasználóként nem lehet szerkeszteni. Ilyenkor a nano-t a sudo-val kell indítani, ha a módosításokat el is akarod menteni. Ellenkező esetben csak-olvasható módban nyitja meg a fájlt.
  3. nano ujafalj.kit létrehozza a megadott nevű új fájlt és megnyitja szerkesztésre.
  4. nano letezo_fajl megnyitja szerkesztésre a létező fájlt.
  5. A nanon belül:
  • Fájl mentés: a Ctrl+O billentyű kombinációval. Ilyenkor még meg lehet változtatni a fájlnevet és Enterrel véglegesíteni.
  • Kilépés: a Ctrl+X billentyű kombinációval. Ha nem mentetted a fájlt, akkor rákérdez, hogy akarod-e menteni.

mkdir könyvtár létrehozás

  1. mkdir konyvtar_neve létrehozza megadott nevű könyvtárt.
  2. mkdir -p /uj/konyvtar/neve szükség szerint létrehozza az új könyvtárakat és alkönyvtárakat. Ha a /home/user/konyvtar1/konyvtar2 könyvtárat akarod létrehozni, de a /home/user már létezik, akkor létrehozza a konyvtar1 és a konyvtar2 könyvtárat is.

ps folyamatok kilistázása

  1. ps aux részletesen kilistáz minden futó folyamatot a felhasználóval, folyamat azonosítóval (PID) és a folyamat nevével.

kill, killall, xkill folyamatok kilövése

  1. kill PID a PID (Process ID) egy szám, ami a folyamatot azonosítja. Egy folyamat azonosítóját pl a ps aux parancs segítségével lehet megtudni. Ha egy folyamat valamiért nem hajlandó leállni, akkor lehet próbálkozni a kill -9 PID parancssal. Ez mindenképpen megszakítja a folyamatot mégy úgy is, hogy ez hibát okoz a rendszerben.
  2. killall program név alapján állítja le a megadott program futó példányait. Ha pl három firefox van megnyitva, akkor a killall firefox parancs mind a három példányt leállítja.
  3. xkill egy GUI megoldás az ablakban futó folyamatok leállítására. Hatására megjelenik egy halálfej ikon, amivel ha rákattintunk egy ablakra, akkor az ahhoz tartozó folyamatot leállítja.

Csövek (pipes) az egyik legjobb dolog a *NIX rendszereken. Segítségével az egyik program kimenetét lehet átirányítani egy másik bemenetére.

  1. A csöveket a függőleges vonal "|" karakter jelképezi.
  2. Leginkább a parancsok összefűzésére használjuk. Veszi az egyik program kimenetét és átadja egy másik programnak bemenetként, úgy hogy a parancsok egymás után hajtódnak végre.

> és >> átirányítók a parancs kimenetét irányítja át pl egy fájlba.

  1. > felülírja a meglévő fájl tartalmát az előtte álló parancs kimenetével
  2. >> hozzáfűzi a meglévő fájl tartalmához az előtte álló parancs kimenetét
  3. ps aux > folyamat.log a ps aux parancs kimenetét beírja a folyamat.log fájlba, ha a fájl nem létezik, akkor létrehozza.

tee a kimenetet fájlba küldi és a terminálban is megjeleníti

  1. a tee parancsot általában a csővel együtt használjuk, hogy egy parancs kimenetét máshova küldjük. Ez akkor hasznos, ha pl egy hibaüzenet eltűnik a képernyőről mielőtt elolvastuk volna. A tee segítségével a későbbi elolvasáshoz fájlba menthetjük az üzenetet.
  2. dmesg | tee boot.txt megjeleníti a bootoláskori információkat, a | átadja a dmesg kimenetét a tee parancsnak, az pedig megjeleníti a terminálban és elmenti a boot.txt fájlba.

Fájl végrehajtás Mielőtt fájlt vagy programot futtatnál, győződj meg róla, hogy végrehajthatónak van-e jelölve.

  1. Szeretnél futtatni egy fájlt miután végrehajthatónak lett jelölve? A ./ operátor segítségével normál felhasználóként lehet futtatni az utána írt fájlt: ./futtathato.fajl. A ./ tulajdonképpen azt jelenti, hogy az "aktuális könyvtárban".
  2. Olyan fájlt szeretnél futtatni, ami nem az aktuális könyvtárban van? Semmi gond, csak meg kell adnod a futtatandó fájl teljes elérési útvonalát. Ha ez egy python prgram, akkor python /teljes/utvonal/fajl.py
  3. Rootként kell futtatnod egy fájlt, mert normál jogokkal nem működik? Egyszerűen csak kezdd a parancsot sudo-val. Az előző példánál maradva: sudo /teljes/utvonal/fajl.py
  4. GUI programot szeretnél futtatni a terminálból? Egyszerűen csak add meg a program nevét és már indul is. Ilyenkor egy érdekes helyzet áll elő: amíg be nem zárod a programot, a terminált nem lehet tovább használni, ha viszont a terminált zárod be, akkor leáll az elindított program is. A program háttérben való futtatásához, a program neve után írj egy & operátort: program_neve &. Ha ezután bezárod a terminált, akkor az elindított program tovább fut. Pl: firefox &
  5. GUI programot szeretnél rootként futtatni a terminálból? Na ilyenkor nem a sudo-t, hanem pl a gksu-t vagy a kdesu-t. Lehet a sudo-val is, csak nem ajánlott.
  6. A sudo használatával nagyon vigyázz! H véletlenül rossz helyen, root jogokkal adsz ki egy parancsot, akár tönkre is teheti a rendszert. Még valami: mindig győződj meg róla, hogy a fájljaid ellenőrzött forrásból származnak!

Gyors tippek

  1. Nem tudod melyik könyvtárban vagy? A pwd megmondja (print working directory)
  2. Tudni akarod, mennyi hely van a lemezen? A df -h gyorsan megmondja.
  3. Egy könyvtár méretét szeretnéd tudni? A du -cksh /konyvtar/neve pontosan megmondja. Ha az aktuális könyvtár méretét szeretnéd tudni, akkor a du -cksh . kell neked.
  4. Egy fájl szeretnél végrehajthatónak jelölni? A chmod +x fajlnev pont erre való.
  5. Szeretnél csatolni egy ISO fájlt? Linuxon erre nem kell külön programot telepíteni. Csak hozz létre egy könyvtárt pl: /home/user/isomount és használd a mount -o loop /isofajl/utvonala/fajl.iso /home/user/isomount parancsot és az iso fájl tartalma máris megjelenik az előbb létrehozott könyvtárban.
  6. Futtattál egy parancsot, de már nem emlékszel pontosan, hogy mi volt az? Nem gond, a history parancs megmondja. Ha törölni szeretnéd az előzményeket, akkor: history -c

Remélem nem (nagyon) ijesztettelek el!

forrás: http://community.linuxmint.com/tutorial/view/100

Hozzászólások

Jól látom, hogy ez egy Linux Mint terminál ablak?

Hú, ezt a poént csak később akartam lelőni :D

Minden ilyen írás örvendetes! :)
Egy apró megjegyzés:
Ha & operátort írsz egy parancs után ÉS később bezárod a terminált DE a parancs még fut, akkor megszakítod az adott parancs futását is (bár lehet, hogy ez terminál alkalmazás függő dolog, az alap parancssor/xterm/gnome-terminal mindenesetre így jár el). A & operátor arra tényleg jó, hogy visszakapd az adott parancssort, amíg a parancs egy új szálon fut tovább (igen, ezért jó párhuzamosításra is több magos processzor esetén), de a kimenete pl. ott marad a terminálban és hozzá is marad láncolva. Ennek kivédésére jó a nohup. Konkrétan a példádat így átírva:
nohup firefox &
Így valóban fut tovább a tűzróka, ha közben bezárod az indító terminálját. A szöveges kimenete pedig azt hiszem egy nohup nevű fájlhoz lesz hozzáfűzve az aktuális könyvtáron belül (vagy a home-on belül, ha oda nem tud írni). Vagy megadod kézzel: nohup firefox 2> error.log &
Szóval ennyi megjegyzés, amúgy tényleg jó kis írás! ;)

Ha az exit paranccsal lépsz ki a terminálból, akkor pl. a firefox továbbra is futni fog. Tudom rossz beidegződés, de én így szoktam. Ha a terminált használom, akkor nem nyúlok az egérért. Ha viszont egérrel bezárom az ablakot, akkor valóban leáll az indított firefox is.

Köszi a leírást ez jó nekünk akik még csak most ismerkednek a Linuxszal. Bár olyanokat is hiányolok, h. mit jelent a root, jól definiálva, szóval még ettől is alapabb dolgokra lenne szüksége egy kezdőnek. (pl. nekem) Szerintem.