Programozas alapjai III. gyak. ---------------------------- Könyvtarak: /bin -futtathato aallomany /dev -meghajtok /lib -fvnyek /pub /home ... Tovabbi parancsok: passwd: jelszo megvaltoztatasa (kabinetben windiws alatt ajanlott; 2006-os allapot) pwd: print working directory, az aktualis konyvtar kiiratasa UNIX shell ========== Ez is egy program, ennek adjuk ki a parancsokat es ez valaszol nekunk (has. DOS command.com). Tobb fele shell letezik mas-mas szintaxissal. Kimenet atadasa: ---------------- Emlitettunk a UNIX altalaban nem ir ki semmit ha a program sikeresen lefut. Oka: Az egyes programok kimenetei atadhatokak egymasnak. Fileba/bol iranyitas: >, <, >>, << FA: Irjuk ki az aktualis konyvtar tartalmat egy "lista.text" nevu fileba! cmd> ls -l > lista.text FA: Irassuk ki oldalankent a "lista.text" filet cmd> more < lista.text vagy more lista.text sort parancs: rendezi a bemenetrol erkezo sorokat. Kapcsolok: -r visszafele rendez -x : x-szam, x. oszlop szerint rendez FA: Az aktualis konyvtar filejait forditott sorrendben lisatzzuk ki cmd> ls -l > lista.text cmd> sort +7r < lista.text PIPE-ok a UNIXBAN ----------------- Egyik program kimenetet a masik program bemenetekent kapja meg. Jele: "|" FA: Az elozo feladat gyorsabban! cmd> ls -l | sort +7r Csatornak atiranyitasa ---------------------- szamozva: 0- stdin 1- stdout 2- stderr FA: rendezzuk a lista.text allomanyt elso oszop szerint, ha pedig hiba van irassuk ki a sort.err fileba! cmd> sort lista.text 2>sort.err Shell valtozok -------------- A shell egy programozasi nyelv is, lehetnek valtozoink. Letrehozas: cmd> a="Hello World!" echo parancs: kiirja a kapott argumentumot FA: Irassuk ki az a valtozonk nevet: cmd> echo $a Kornyezeti valtozok: Futtathato programok kornyezetenek megvaltoztatasa FA: A man parancs futtatasakor egy kilistazo programot hiv meg, ezt allitsuk at a cat parancsra (majd a more-ra)! cmd> PAGER="cat" cmd> export PAGER cmd> man cd cmd> PAGER="more" cmd> export PAGER cmd> man cd A PATH kornyezeti valtozo kiemelt, ez mutatja meg hol keresse a futtathato allomanyokat. FA: Nezzuk meg hol keresi a futtathato allomanyokat a rendszerunk! cmd> echo $PATH Fejlett szovegkezeles --------------------- grep parancs: mit hol, kiirja azokat a sorait a szovegfilenak, amelyben a mit megtalalhato. Kapcsolok: -x: ne csak teljes szavak -i: case sensitivity -n: sorszamozas -v: sorok amiben nem szerepel a kifejezes regularis kifejezesek: Adott felteteleknek elegt tevo kifejezesek: $^: sor vegere, elejere illeszti a mintat []: a zarojelben levok barmelyike lehet [^]: ezeken kivul barmelyik lehet [n-m]: a tartomanyban barmelyik lehet Processzek Unixban ------------------ Multitasking a Unix rendszerek egyik fo jellemzoje. ps parancs: Aktualisan futo processeink (PID egyedi azonosito a processzhez) Eloterben hatterben futtatas: Lehetosegunk van a processeink hatterben valo futtatasara, Egyszeru mod: parancs & jobs parancs: A futo munkakat irja ki. -> Hatterbe dobas kill parancs: A job megallitasa. kill PID ha nem megy kill -9 PID fg, bg parancsok: eloter hatterben valo futtatas nohup parancs: kilepes utan is futtatja a programunkat INTERNET, halozati parancsok ============================ finger parancs: *parameterek nelkul megmutatja kik vannak a halozatban *finger username: Kiirja az adott felhasznalo adatait *finger nev: adott nev-re illeszkedo felhasznalok listaja a rendszerben .plan, .project fileok FA: Irassuk be egy fileba az osszes David nevu hallgato adatait! who parancs: Hasonlo a fingerhez csak kevesebb informacio FA: Irassuk be egy fileba az osszes bennt levo user adatait abc szerint visszafele! w parancs: ki mit futtat ssh parancs: tavoli biztonsagi kapcsolat FA: lepjunk be a kabinet home szerverere cmd> ssh home.cab.u-szeged.hu FA: finger, who, w parancsok write parancs: Uzenetet kuld a parameterben megadott USER-nek talk parancs: interaktiv beszelgetesre hivja a parameterben megadott usert. FA: Elozo orai gyakorlat folyatasa: 32. Hozz létre három szöveges állományt 't1.txt', 't2.txt' és 't3.txt' néven, tettszőleges de többsoros tartalommal! 33. Írasd ki a 't1.txt' első sorát! 34. Írasd ki a 't2.txt' utolsó 3 sorát! 35. Írasd ki mindhárom fájl tartalmát! 36. Másold össze a három fájl tartalmát egy 'ossz.txt' fájlba! 37. Számold meg, hány sort, szót és karaktert tartalmaz az 'ossz.txt'! 38. Számold meg, hány sort, szót és karaktert tartalmaz együtt az összes '.txt' végű fájl az aktuális könyvtárban! 39. Listázd ki a gyökérben lévő könyvtárak tartalmát oldalanként! 40. Kérdezd le, kik vannak bejelentkezve az általad használt gépre! 41. Indítsd el a 'yes' programot, a kimenetét irányítsd a /dev/null fájlba, majd állítsd meg (stop) a processzt! 42. Listázd ki milyen processzeid vannak! 43. Tedd háttérbe az előbb leállított processzt! 44. Szakítsd meg a háttérbe tett 'yes' futását! 45. Indítsd el újra a 'yes' programot egyből a háttérben, a kimenetét irányítsd a /dev/null fájlba! 46. Hozd az előtérbe az előbb indított processzt, majd szakítsd meg! 47. Jelentkezz be a kabinet linux szerverére! 48. Lépj ki a szerverről! 49. Jelentkezz be a kabinet home szerverére úgy, hogy grafikus alkalmazást is indíthass! 50. Indíts a háttérben egy grafikus alkalmazást! 51. Állítsd le az alkalmazást! 52. Lépj ki a szerverről! 53. Létesíts sftp kapcsolatot a kabinet szerverével! 54. Listázd ki a távoli könyvtár tartalmát! 55. Lépj be az távoli gépen a 'sajat' könyvtárba! 56. Ellenőrízd a lokális gépen az aktuális könyvtáradat! 57. Készíts a lokális gépen egy x könyvtárat, majd lépj bele! 58. Hozd le a távoli gépről az összes '.txt' végződésű fájlt! 59. Ellenőrízd a művelet eredményét! 60. Lépj vissza egy könyvtárat a távoli gépen! 61. Tedd fel az egyik txt fájlt a távoli gépre! 62. Szakítsd meg a kapcsolatot! 63. Adj rw-r--r-- jogot a home könyvtáradban lévő 'reg92.txt' fájlra! 64. Töröld a 'sajat' könyvtárat, a tartalmával együtt!