Linux/Parancssor

(Parancssor szócikkből átirányítva)

Ez a könyv a Linux alapú számítógépes operációs rendszerek parancssori lehetőségeit mutatja be. A bemutatott parancsok nagy része minden Unix alapú rendszeren használható. A példákban joe nevű felhasználó és egy jupiter nevű számítógép szerepel.

Minden leírt példát próbálj ki! Ha csak elolvasod, az kevés. Ha nincs telepített Linuxod, akkor használj egy Live CD-t, például: Knoppix. A Live CD helyett telepíthetsz is egy linuxos rendszert. Ha nincs olyan számítógép, ahol az adatok törölhetők, akkor használj virtuális gépet. Erre a célra ajánlom a VirtualBox programot.


Azonosítás szerkesztés

A linuxos rendszer indulása után egy "login" várakozási jel jelenik meg egy kettősponttal, ha csak a parancssoros felület lett telepítve. A login nem egy hibaüzenet, a felhasználónév beírását várja a rendszer:

login: joe

A felhasználónév beírása után a password: várakozási jelet látjuk, amely a jelszavunk beírásra szólít fel:

password: 

A jelszó beírása esetén alapértelmezetten még csillagok sem jelentek meg.

Jelszó megváltoztatása:

$ passwd

A felhasználó a passwd paranccsal megváltoztathatja saját jelszavát.
Mások jelszavát csak a rendszergazda, azaz a root felhasználó képes megváltoztatni. Ekkor meg kell adni az adott felhasználónevet a passwd parancs paramétereként.

A joe felhasználó jelszavának megváltoztatása:

# passwd joe



Kijelentkezés:

$ logout

A kijelentkezéshez használható további parancsok: exit és a Ctrl+D billentyűkombináció.

A Linux terjesztések lehetővé teszik grafikus bejelentkezést is. Erre a célra XDM, KDM vagy a GDM csomag valamelyikének telepítése ad lehetőséget.


Várakozási jel szerkesztés

Ha bejutottunk a rendszerbe, egy várakozási jel, pontosabban egy karaktersorozat jelenik meg, idegen szóval: prompt. A várakozási jel, más lehet a rendszergazda és felhasználó számára. Felhasználók esetén a szokásos alak tartalmazza a felhasználó nevét, a Linuxos rendszer nevét, melyik könyvtárban áll, és végül a parancsértelmezőre jellemző karaktert.

Felhasználó várakozási jele

joe@jupiter:~$

A fenti példa Debian GNU/Linux operációs rendszerek alapértelmezett várakozási jele felhasználók esetén. A joe felhasználónév után egy "@" karakter, majd utána a szerver neve: jupiter. A "@" karakter elválasztó szerepet tölt be. A szerver neve után újabb elválasztó következik, egy kettőspont (":"). A kettőspontot az aktuális könyvtár neve követi, amely esetünkben egy "~" karakter. Ez mindig a felhasználó saját könyvtárát jelöli. Alapértelmezésként joe saját könyvtára a /home/joe. A dollárjel ("$") a bash nevű parancsértelmezőt jelképezi.


A root felhasználónak az alapértelmezett várakozási jele (#) a kettős kereszt .

Root felhasználó promptja

root@jupiter:~#

A várakozási jel felépítését egy környezeti változó határozza meg, amelynek a neve PS1. Egy környezeti változóra úgy hivatkozhatunk, ha egy dollár jelet teszünk a neve elé: $PS1. Az echo paranccsal megtekinthetjük a tartalmát.

A PS1 környezeti változó tartalma

$ echo $PS1


Mielőtt a rendszer megjeleníti a várakozási jelet, beolvassa a PS1 környezeti változó tartalmát. A várakozási jelet ez alapján állítja be. Debian GNU/Linux 5.x felhasználók esetén alapértelmezésként ez így néz ki:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$


X terminál színezése

export PS1='${debian_chroot:+($debian_chroot)}\[\033[01;34m\]\u@\h\[\033[00m\]:\w\$ '


Egyszerű prompt

$ export PS1="$ "

Akkor használjuk, ha szeretnénk egy egyszerű várakozási jelet, és az útvonal nagyon hosszú.
Ha a fentieket szeretnénk véglegesíteni, akkor írjuk ezeket a /home/joe/.bashrc állományba.

Például

$ echo "export PS1='$ '" >> /home/joe/.bashrc

vagy

$ echo "export PS1='$ '" >> ~/.bashrc

Az utóbbi példából látjuk, hogy a /home/joe helyett használhatjuk a hullámjel karaktert "~" is, a saját könyvtárunk meghatározására.

Könyvtárkezelés szerkesztés

Az első érdekes információ lehet számunkra, hogy jelenleg melyik könyvtárban állunk. Ezt a pwd parancs begépelésével tehetjük meg.

Aktuális könyvtár:

$ pwd


Ha már tudjuk, melyik könyvtárban állunk, az is fontos lehet, hogy az aktuális könyvtárban milyen újabb könyvtárak vagy állományok vannak. Ezt az ls paranccsal tudjuk megnézni. Az ls az angol list szóból származik, magyarul listázásnak fordítható. A könyvtár tartalmának listázása:

$ ls

Könyvtárak létrehozására az mkdir parancsot használjuk. A parancs első része az "mk" az angol make szóból származik. Magyarul elkészít, csinál szavakkal fordítható. A "dir" az angol directory szóból ered, amely magyarul könyvtár, vagy másik elterjedt nevén mappa néven fordítható. A parancs tehát egy könyvtár elkészítésére utal. Paraméterként több könyvtár is megadható. Ügyeljünk arra, hogy a linuxos rendszerek kisbetű/nagybetű érzékenyek. Például a "Bertabla" és a "bertabla" nevű könyvtár két különböző könyvtár.

Könyvtár létrehozása:

$ mkdir konyvtarnev


A könyvtárnevekben lehetnek ékezetes betűk, azonban ennek használata nem ajánlott. Ha a könyvtárakat más rendszerbe szeretnénk mozgatni, akkor azok esetleg olvashatatlanok lesznek.

Könyvtár törlése:

rmdir konyvtarnev


A könyvtár átnevezését az mv paranccsal hajtjuk végre, amely az angol move szóból származik. Magyarul mozgatást jelent. Ha helyben mozgatunk, akkor átnevezés történik.

Könyvtár átnevezése:

$ mv konyvtar1 konyvtar2

A konyvtar1 nevű könyvtárat konyvtar2-re nevezzük át.

Könyvtár átmozgatása:

$ mv konyvtar1 konyvtar2/

A konyvtar1 nevű könyvtárat a konyvtar2 nevű könyvtárba mozgatja.

Ha már vannak könyvtáraink, szeretnénk azokban mozogni is, azt is mondhatnánk, szeretnénk könyvtárat cserélni (váltani). Erre a célra a cd parancs szolgál. A cd parancs a Change Directory szavak kezdőbetűiből áll össze. A Directory már ismerős, a Change magyar fordítása: cserélni. Ha egy könyvtárba szeretnénk belépni, akkor a cd parancsnak egyszerűen meg kell adni a könyvtár nevét paraméterként:

$ cd konyvtar1

Ezzel a konyvtar1 nevű könyvtárba kerülünk.

Fájlkezelés szerkesztés

Fájlok létrehozása:

$ touch filenev.txt


Fájlok törlése:

$ rm filenev


Fájlok átnevezése:

$ mv file1 file2


Fájlok mozgatása:

$ mv file konyvtar/


Fájlok tartalmának megtekintése:

$ cat filenev


Fájlok darabolása:

$ split -b 1440000 filenev

A filenev nevű fájlt 1440000 byte méretű fájlokra darabolja. A fájlok rendre xaa, xab, xac stb. lesznek.

Darabolt fájlok összefűzése:

$ cat x* >> filenev

Archiválás szerkesztés

Archiválásra a tar parancsot használjuk. Maga a tar program nem képes tömörítésre, csak archiválásra. Néhány kapcsolóval azonban rávehető, hogy más programokat felhasználva tömörítést is végezzen.
Archiválás:

$ tar -cf archivnev.tar konyvtarnev

Archiv csomagok kibontása:

$ tar -xf archivnev.tar


Folyamatkezelés szerkesztés

Folyamatok indítása szerkesztés

Programok indításához ismerni kell azok helyét. A rendszer programjait a következő helyeken találhatjuk:

  • /bin
  • /sbin
  • /usr/bin
  • /usr/sbin
  • /usr/local
  • /usr/games

Az ls parancs futtatása például /bin/ls. Ha egy parancs útvonalban van, akkor nem kell megadnunk a teljes útvonalat. Elég az ls parancs kiadása.

A felhasználók is rendelkezhetnek saját futtatható programokkal vagy scriptekkel. Ezeket általában a saját bin könyvtárában tartja. A "jozsi" nevű felhasználó bin könyvtárát így érjük el: /home/jozsi/bin.

Előfordul, hogy egy parancs nincs útvonalban, viszont nem szeretnénk a teljes útvonalat megadni, de a program helyi könyvtárban van. Ekkor egy ./ jellel jelezzük, hogy a keresett program vagy script az aktuális könyvtárban van.

Folyamatok listázása szerkesztés

Folyamatok listázására a ps parancsot használjuk. Alapesetben azonban nem fogjuk látni az összes folyamatot.


 $ ps 
 PID TTY          TIME CMD
 6714 pts/2    00:00:00 bash
 6895 pts/2    00:00:00 ps


Az összes folyamat megtekintéséhez használjuk a ps ax kapcsolóit:

 $ ps ax

Vegyük észre, hogy a kapcsolóknak nem szükséges kötőjel.

Ezek után ehhez hasonló kimenetet láthatunk (részlet másolata):

 PID TTY      STAT   TIME COMMAND
 ...
 6379 ?        Sl     4:26 /usr/lib/iceweasel/firefox-bin -a iceweasel
 6704 ?        Rl     0:01 gnome-terminal
 6713 ?        S      0:00 gnome-pty-helper
 6714 pts/2    Ss     0:00 bash
 6894 pts/2    R+     0:00 ps x

Az első oszlopban látjuk a pidszámokat (PID). A pid a "process identity" szavak rövidítése, ami folyamatazonosítónak fordítható. Folyamat alatt pedig a futó programot értjük. Az utolsó oszlopban a futtatott parancsot látjuk kapcsolókkal együtt.

Folyamatok leállítása szerkesztés

Folyamat leállítása erőszakosan, de biztosan:

 $ kill -9 pidszam

Például, a ps ax parancs után látjuk, hogy a leállítandó parancs pid száma 8340, akkor a kill parancsot így alkalmazzuk:

 $ kill -9 8340


Több folyamat kezelése egyetlen terminálban szerkesztés

Folyamat háttérbe helyezése A folyamat elindítása után nyomjunk Ctrl+Z billentyűpárost!

A példa kedvéért indítsuk el a nano szövegszerkesztőt:

 nano

Ha elindult, dolgozhatunk vele, majd tegyük a Ctrl+Z paranccsal háttérbe. Ezek után indítsunk egy másik programot, például a mutt levelező programot. Itt is dolgozhatunk majd a Ctrl+Z paranccsal ezt is háttérbe tehetjük. Hogy milyen programok vannak a háttérben, a jobs paranccsal tudhatjuk meg:

 jobs
 [1]-  Stopped                 nano
 [2]+  Stopped                 mutt

Láthatjuk, hogy a nano és a mutt programok vannak a háttérben. Vegyük észre, hogy mind a két program sorszámot kapott! A sorszámok segítségével vissza-, azaz előtérbe hozhatjuk a nano vagy a mutt programot. Hozzuk előtérbe a nano programot az fg paranccsal:

 fg 1

Az fg parancsnak egyetlen paraméter szükséges, annak a programnak a sorszáma, amit előtérbe szeretnénk hozni.