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: / /home /dev /etc /usr/bin /sbin /usr/doc /usr/local/man /tmp /var /lib /proc
A főkönyvtár, a könyvtárfa kiindulópontja Ehhez csatlakoznak a felhasználók könyvtárai A hardvereszközöket reprezentáló fájlok A legfontosabb konfigurációs fájlok Közhasználatú parancsok A superuser és a rendszerindító parancsok Dokumentációs fájlok Kézikönyv oldalak Ideiglenes fájlok Konfigurációs fájlok (Linkek az /usr-ből) Megosztott programkönyvtárak 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 Manuál olvasása -h; --help (segítség) -V; --version (verziószám) who 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) date 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 Kiírja az aktuális munkakönyvtár elérési útvonalát. Nincsen paramétere. ls 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 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) mkdir Könyvtár létrehozása mkdir [kapcsolók] könyvtár[/könyvtár[/könyvtár[...]]] -v (visszajelzés) 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 -v (visszajelzés) -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 Üres fájl létrehozása, az alapértelmezett jogosultságokkal. touch file_neve rm 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.) -v (visszajelzés) 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.) -v (visszajelzés)
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 R W X 4+2+1 7
group R W X 4+2+1 7
others R W X 4+2+1 7
=>
777
user R - X 4+0+1 5
group - - X 0+0+1 1
others R W 4+2+0 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.)