Linux/Parancssor
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.