Unix-Linux alapok I. gyakorlatvezető: Lutár Patrícia Ez a dokumentum az órán bemutatott alapparancsoknak egy vázlatos áttekintése. A parancsokhoz tartozó kapcsolók/opciók (flagek) felsorolása nem teljes. Az elérhető összes információ a manuálban található, amiben egy adott parancsnévhez tartozó ismertetőt a man [paracsnév] paranccsal lehet lekérdezni. UNIX rendszer: A Unix rendszer időosztásos, többfelhasználós operációs rendszer, nem új dolog, elég régóta létezik. UNIX rendszer részei: a kernel (rendszermag), parancsértelmező (shell), és a rendszerprogramok. A kernel alapvető feladata az erőforrások elosztása, az eszközök vezérlése, valamint a felhasználói programok számára egy interfészt biztosít a hardver felé. A kernel körül helyezkedik el a shell (héj, burok) ami biztosítja a kapcsolatot a felhasználó és a kernel között. A rendszerprogramok feladata a rendszer működésének biztosítása, segítése. UNIX rendszer működése: Kliens-szerver kapcsolatok rendszerhívásokon keresztül. UNIX vagy Linux?? A Linux jogi értelemben nem UNIX, így Unix-klónnak lehet inkább nevezni, és nem is követi szigorúan egyik szabványt sem. Legközelebb a független POSIX (Portable Operating System Interface (x))-hoz áll. Maga a Linux, illetve a Linuxon futó szoftverek legnagyobb része a GPL (GNU General Public License) alá esik. A Linux könyvtárszerkezete, fontosabb könyvtárak: / A főkönyvtár, a könyvtárfa kiindulópontja /home Ehhez csatlakoznak a felhasználók könyvtárai /dev A hardvereszközöket reprezentáló fájlok /etc A legfontosabb konfigurációs fájlok /usr/bin Közhasználatú parancsok /sbin A superuser és a rendszerindító parancsok /usr/doc Dokumentációs fájlok /usr/local/man Kézikönyv oldalak /tmp Ideiglenes fájlok /var Konfigurációs fájlok (Linkek az /usr-ből) /lib Megosztott programkönyvtárak /proc A processzek fájlrendszere A fájlrendszerben egy adott fájlra annak elérési útjával (path) hivatkozhatunk, az alkönyvtárakat / jel választja el.
Az elérési útvonal az alábbi karakterekkel kezdődhet: / gyökérkönyvtár. az aktuális munkakönyvtár.. a munkakönyvtár szülőkönyvtára ~ az adott felhasználó home könyvtára (semmi) relatív útvonalmegadás Alapvető UNIX utasítások A UNIX utasítások általános formája: utasításnév -opciók argumentumok Az opciók módosítják az utasítás végrehajtását. Az egyes opciókat - jellel adjuk meg, de elég egy darab - jelet írni és utána egybe írni az opciókat (pl. az ls -l a utasítás ekvivalens az ls -la utasítással). Az argumentumok az utasítás bemenetei. Az órán ismertetett parancsok: logout/exit kilépés man who date Manuál olvasása -h; --help (segítség) -V; --version (verziószám) Kiírja, hogy ki van bejelentkezve -a, --all (minden információ) -q, --count (felhasználók száma) -s, --short (rövidebb információ) -b, --boot (az utolsó reboot ideje) Dátum és idő kiírása/beállítása date [kapcsolók] [+formátum] -u, --utc (egyezményes idő) -R, --rfc-2822 (az RFC 2822 formátum szerinti dátum is idő) formátum: Mindig plusz (+) jellel kezdődik, és ha szóköz karaktert használunk a formátumban, akkor két aposztróf ( ) vagy idézőjel/macskaköröm ( ) közé kell raknunk a formátumot. példa: date +%Y-%m-%d_%H:%M:%S példa: date '+%Y-%m-%d %H:%M:%S' példa: date '+Dátum: %Y/%m/%d%nIdő: %H:%M:%S'
passwd (kpasswd a panda/pandora/valerie/caesar szervereken!) Jelszó módosítása passwd [azonosító] Saját jelszót lehet változtatni, ám a root felhasználó más jelszavát is tudja. pwd ls Kiírja az aktuális munkakönyvtár elérési útvonalát. Nincsen paramétere. Egy adott, vagy az aktuális könyvtár tartalmának listázása ls [kapcsolók] [könyvtár/file] -a, --all (minden file-t és könyvtárat kilistáz, még azokat is, amik rejtettek. Ezek a rejtett könyvtárak és file-ok ponttal kezdődnek! Kilistázza még a. és a.. könyvtárakat is, ahol a. az aktuális könyvtár, és a.. pedig az eggyel feljebb levő könyvtár.) -A (ugyanaz, mint az -a vagy all kapcsoló, csak nem listázza ki a. és a.. könyvtárakat!) -l (részletesebb adatok, ezt érdemes megjegyezni, mert könnyen lehet vele vizsgálni egy file-hoz vagy könyvtárhoz tartozó jogosultságokat ) -p (ugyanaz, mint az -A, csak a könyvtárakat úgy megjelöli, hogy / jelet rak minden könyvtár nevének végére) -S (méret szerint rendezve listáz) -r (fordított sorrendben listáz) -R (rekurzívan kilistázza az alkönyvtárakat is) példa: ls ~ (A home mappa listázása.) példa: ls / (A gyökérkönyvtár listázása.) példa: ls.. (Az eggyel feljebb levő könyvtár listázása.) cat Fájl(ok összefűzése és) képernyőre írása cat [kapcsolók] fájl -n (A sorokat beszámozza.) -b (A sorokat beszámozza, de az üreseket nem (sortörést tartalmazó sorok).) -e (A sorok végére $ jeleket szúr be.) összefűzés példa: cat file1.txt file2.txt példa a cat parancs kimenetének file-ba irányítása: cat file1 > file3 more és less A képernyőre írja lapozva a fájlt more [kapcsolók] fájl +[number] (Attól a sortól kezdve mutatja a fájlt, amit itt megadtunk.) enter soronként lapozás space teljes oldalanként lapozás q kilépés more: egyirányú lapozás (lefelé) less: mindkét irányban lapozhatóság A less parancs használata esetén a billentyűzeten található nyilak, illetve a Page Up (pg up), Page Down (pg dn) gombok is használhatók. példa: more +3 myfile.txt (3. sortól lapoz)
tail és head tail: Egy file utolsó N db sorát kiírja, alapértelmezetten az első tízet. head: Egy file első N db sorát kiírja, alapértelmezetten az első tízet. tail [kapcsolók] file -n N (Az N egy számértéket jelöl, az utolsó N sor kiírása.) -c N (Az N egy számértéket jelöl, az utolsó N byte kiírása.) head [kapcsolók] file -n N (Az N egy számértéket jelöl, az első N sor kiírása.) -c N (Az N egy számértéket jelöl, az első N byte kiírása.) példa: head -n 5 peldatextfile példa: tail -c 5 peldatextfile cd mkdir Könyvtárváltás cd [könyvtárnév].. (szülő könyvtár) - (előző könyvtár) / (gyökér könyvtár) ~ (home könyvtár) Könyvtár létrehozása mkdir [kapcsolók] könyvtár[/könyvtár[/könyvtár[...]]] példa: mkdir -v lol1 lol1/lol2 lol1/lol2/lol3 rmdir Üres könyvtárat töröl rmdir [kapcsolók] könyvtárnév -p, --parents (Egy megadott könyvtárszerkezet törlése egyszerűbben, lásd példa.) példa: rmdir lol1/lol2/lol3 lol1/lol2 lol1 Itt az mkdir parancs példájában létrehozott könyvtárszerkezetet töröljük. példa: rmdir -p lol1/lol2/lol3 Ez ugyanazt csinálja, mint az előző példa! touch rm Üres fájl létrehozása, az alapértelmezett jogosultságokkal. touch file_neve Egy adott file törlése rm [kapcsolók] fájl -R (Rekurzívan töröl minden file-t.) ÓVATOSAN! -v (Mindig van visszajelzés egy-egy file törlésekor.)
-f (Soha sincs visszajelzés, se kérdezés egy-egy file törlése előtt.) ÓVATOSAN! -i (Egy-egy file törlése előtt rákérdez, hogy valóban akarunk-e törölni.) cp File-okat és könyvtárakat másol cp [kapcsolók] forrás cél -f (A másolás közben felülírja a célmappában levő file-t, ha az már létezett.) -i (A másolás közben rákérdez, hogy valóban felül akarjuk-e írni a célmappában levő file-t, ha létezik.) -R, -r (Rekurzívan másol) -u (A másolás közben felülírja a célmappában levő file-t, ha az már létezett és régebbi, mint amivel felül akarjuk írni.) példa: cp -vr lol lol4 mv Mozgat vagy átnevez fájlokat mv [kapcsolók] forrás cél -u (A mozgatás közben felülírja a célmappában levő file-t, ha az már létezett és régebbi, mint amivel felül akarjuk írni.) chmod Módosítja a file vagy könyvtár elérési jogait chmod [kapcsolók] MÓD fájl r - Olvasási engedély w - Írási engedély x - Futtatási engedély + - Hozzáadja az engedélyt - - Elveszi az engedélyt A lehetséges jogosultsági körök: user_group_others RWX (4+2+1) (olvasás, írás, futtatás) példa: ls -l parancs kimenete: drwxr-xr-x 2 goth progterv 4096 May 5 09:33 GY -rw-r--r-- 1 goth progterv 14346 May 5 15:12 zh.sql Az első oszlopban található egy mappa, vagy file (esetleg egy link) jogosultságai. Ezen belül is, ha az első karakter -, akkor file-ról, ha d akkor directory-ról (könyvtárról), illetve ha l, akkor linkről beszélünk. u - Engedélyek beállítása a tulajdonos felhasználó számára g - Engedélyek beállítása a csoport számára o - Engedélyek beállítása minden más felhasználónak
-v (Visszajelzés) 777 - Mindenkinek minden jog megadása user group others R W X R W X R W X 4+2+1 4+2+1 4+2+1 7 7 7 => 777 user group others R - X - - X R W - 4+0+1 0+0+1 4+2+0 5 1 6 => 516 példa a tulajdonos felhasználó, és a csoportba tartozó felhasználóknak olvasási és írási jog megadása: chmod ug+rw pelda példa mindenkinek minden jog megadása: chmod 777 pelda chown Módosítja a fájl tulajdonosát és csoportját A legtöbb implementációban ezt a feladatot csak egy rendszer adminisztrátor tudja elvégezni. chown [kapcsolók] TULAJ[:CSOP] file(ok) -R (Rekurzívan) -v (Visszajelzés) find Keresés find [útvonal] [kifejezések] Ha nincs útvonal megadva, akkor az aktuális könyvtárban keres. -name *.jpg (A *.jpg nevű file-ok keresése, azaz minden olyan file, ami.jpg -re végződik.) -perm 777 (A 777-es jogosultsággal rendelkező állományok keresése.) -size 10k (A 10 kilobyte-nál nagyobb állományok keresése.)