1 / 25

Unix/Linux alapok

Unix/Linux alapok. Hága Péter ELTE Komplex Rendszerek Fizikája tanszék. Unix és Linux. Unix: gyors, biztonságos szerver operációs rendszer 1969 -ből . Sun - Solaris, IBM - AIX, Hewlett-Packard - HP-UX. .

imala
Download Presentation

Unix/Linux alapok

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unix/Linux alapok Hága PéterELTE Komplex Rendszerek Fizikája tanszék

  2. Unix és Linux • Unix: gyors, biztonságos szerver operációs rendszer 1969-ből. Sun - Solaris, IBM - AIX, Hewlett-Packard - HP-UX. • Linux: legelterjedtebb Unix változat, amit 1991-től fejlesztenek.LinusTorvalds, finn programozó fejlesztett ingyenes Unix alapú OS-t, és megosztotta a kódjait azokkal akik részt akartak venni a munkában.

  3. Miért használjunk Linux-ot? - általában • Linux robosztus és stabil • Linuxban kevesebb bug található, mint más OS-ben • Linux erőteljes • Linux nagy teljesítményű • Linux szinte minden eszközzel együttműködik • Linux flexibilis • Testreszabhatóhardver támogatás • Teljes mértékben testreszabható szoftverek • Linux számos platformon fut • Linux jól támogatott • Linux meglehetősen olcsó • Nincsenek licensz díjak • Hatékony szoftverek egybecsomagolva a rendszerrel

  4. Miért használjunk Linux-ot? - szerintem • Linux erőteljes • Linux nagy teljesítményű • Linux szinte minden eszközzel együttműködik • Linux jól támogatott • Linux meglehetősen olcsó • Ezért elterjedt egyetemi környezetben • Elterjedt szerveres, superszámítógépes környezetben • Hatékony szoftverek egybecsomagolva a rendszerrel • Linux jól scriptelhető • Szinte minden szoftver meghívható parancssorból • Szoftverek jól kapcsolózhatóak, paraméterezhetőek • Linux parancsok összefűzhetőek (pipe-olás) • Linux szerverek távolról könnyen elérhetőek • Linux jogosultságkezelés

  5. Linux a valóságban • Disztribuciók • Debian • Mandrake • Red Hat • Ubuntu • Cygwin • Virtuális gépek • Felhasználói felületek (GUI) • Gnome • KDE

  6. Linux belépési módok • accountra van szükség • username éspassword • helyi login • távolilogin • parancs soros terminál • grafikus belépés • ssh[-X] username@machineAddress

  7. File rendszer felépítése

  8. Egyszerű parancsok • Tab-ra kiegészítés • Fel nyílra ugrik az előző parancsra • Bashhistory • Reguláris kifejezések • parancs & - parancsok háttérben futtatása • | - (pipe) parancsok összefűzése • man - manual (help) • Apropos • gcc – c fordító

  9. Egyszerű parancsok • grep – kifejezés keresés • less, more, cat • emacs, gedit, vim ,... • pwd- shows the current directory • cd - changes directory • / -abszolút path • ./ -relatív path • ../ - egy könyvtárral feljebb • ls • mkdir- makes directory • rmdir - removes directory • cp - copies • mv - moves • rm - removes [-r]

  10. Megoldandó feladat

  11. Feladat • Ellenőrizzük azt az állítást, hogy a tőzsdei részvényárfolyamok véletlen bolyongással modellezhetőek! • Azaz hasonlítsunk össze véletlen bolyongási adatokat valódi részvény árfolyamokkal • Az statisztikai összehasonlítás módja pl. az eloszlás függvényeik, vagy a hisztogramjaik összehasonlítása

  12. Megoldás lépései • Két részfeladat: • Véletlen bolyongás megvalósítása és vizsgálata • Részvény árfolyam vizsgálata • Véletlen bolyongás leprogramozása • c nyelven • adatsor elemzése awk segítségével • ábrázolás gnuplottal • Részvény árfolyam vizsgálata • adatsor letöltés: GoogleFinance • adatsor elemzése awk segítségével • ábrázolás gnuplottal • Eredmények összehasonlítása, interpretációja, diszkusszió

  13. Véletlen bolyongás

  14. Véletlen bolyongás • Diszkrét időlépés • Normális eloszlású növekmény • 1D, 2D, 3D

  15. Véletlen bolyongás – c kód #include <stdlib.h>// függvény könyvtár betöltés #include <math.h> int main () {// program törzs kezdete inti;// változó deklarálások double x1,x2,y1,y2; double pos=0; srand(102);// pszeudovéletlenszám generátor inicializálás for (i=0;i<50000;i++) {// bolyongás léptetése x1=(double)rand()/RAND_MAX;// egyenletes eloszlású pszedo véletlen szám generálás x2=(double)rand()/RAND_MAX; y1 = sqrt( - 2*log(x1) )*cos( 2*3.14*x2 );// normális eloszlású véletlen szám generálás y2 = sqrt( - 2*log(x1) )*sin( 2*3.14*x2 ); pos+=y1;// pozíció update printf("%.3f %.3f %.3f %.3f %.3f\n",x1,x2,y1,y2,pos);// eredmény kiírás } return0;// visszatérési érték }

  16. Véletlen bolyongás – eredmény $ gcc randomwalk.c –o randomwalk-lm# forráskódunk futtathatóvá fordítása $ ./randomwalk# futtatás 0.380 0.863 0.901 -1.060 0.901 0.285 0.848 0.908 -1.299 1.809 0.566 0.067 0.972 0.438 2.781 0.786 0.864 0.454 -0.524 4.862 0.359 0.708 -0.380 -1.380 4.482 0.750 0.633 -0.509 -0.561 3.973 0.993 0.785 0.026 -0.118 4.000 0.688 0.650 -0.507 -0.700 3.492 …. …. …. X1 X2 Y1 Y2 POS

  17. Véletlen bolyongás – AWK feldolgozás $ cat randomwalk.dat | cut -f3 -d" " > randomwalk_nov.dat # Y1 adatsor kiválasztása, mint növekmény $ MAX=`cat randomwalk_nov.dat | sort -n | tail -1`# legnagyobb növekmény $ MIN=`cat randomwalk_nov.dat | sort -n | head -1` # legkisebb növekmény $ echo $MAX $MIN# kiírás $ cat randomwalk_nov.dat | awk -v min=$MIN -v max=$MAX -v N=100 'BEGIN{for (i=0;i<N;i++) {h[i]=0;}}{h[int(($1-min)/((max-min)/N))]++} END{for (i=0;i<N;i++) print i*((max-min)/N)+min,h[i]}' > hist_randomwalk.dat # AWK hisztogram készítés

  18. AWK hisztogram készítés $ cat randomwalk_nov.dat | awk-v min=$MIN -v max=$MAX -v N=100 ‘ BEGIN{ for (i=0;i<N;i++) {h[i]=0;} } { h[int(($1-min)/((max-min)/N))]++ } END{ for (i=0;i<N;i++) print i*((max-min)/N)+min,h[i] } ' > hist_randomwalk.dat

  19. Részvény árfolyam vizsgálat

  20. Részvény árfolyam vizsgálat Date,Open,High,Low,Close,Volume 22-Oct-08,19.31,20.19,18.13,19.33,37919533 21-Oct-08,20.14,21.48,19.34,20.20,40227081 20-Oct-08,20.17,20.79,19.07,19.77,32976429 17-Oct-08,17.97,20.26,17.52,19.24,46668538 16-Oct-08,18.60,19.25,16.93,18.69,63137199 15-Oct-08,20.23,20.46,17.61,18.13,86911035 14-Oct-08,21.21,24.20,20.55,21.94,138553805 13-Oct-08,15.43,19.06,12.66,18.10,199815501 10-Oct-08,9.19,11.30,6.71,9.68,207088145 9-Oct-08,17.98,18.30,11.95,12.45,102932615 8-Oct-08,16.99,19.47,16.23,16.80,40976047 7-Oct-08,24.28,24.28,14.13,17.65,90516780 6-Oct-08,22.49,24.40,20.17,23.50,27022695 3-Oct-08,24.40,26.73,22.51,23.92,30168804 2-Oct-08,23.91,25.12,23.10,23.21,17885644 1-Oct-08,22.72,24.87,21.76,24.42,36159359 …

  21. Részvény árfolyam vizsgálat - AWK Date,Open,High,Low,Close,Volume 22-Oct-08,19.31,20.19,18.13,19.33,37919533 21-Oct-08,20.14,21.48,19.34,20.20,40227081 20-Oct-08,20.17,20.79,19.07,19.77,32976429 17-Oct-08,17.97,20.26,17.52,19.24,46668538 16-Oct-08,18.60,19.25,16.93,18.69,63137199 15-Oct-08,20.23,20.46,17.61,18.13,86911035 14-Oct-08,21.21,24.20,20.55,21.94,138553805 13-Oct-08,15.43,19.06,12.66,18.10,199815501 10-Oct-08,9.19,11.30,6.71,9.68,207088145 9-Oct-08,17.98,18.30,11.95,12.45,102932615 8-Oct-08,16.99,19.47,16.23,16.80,40976047 7-Oct-08,24.28,24.28,14.13,17.65,90516780 6-Oct-08,22.49,24.40,20.17,23.50,27022695 3-Oct-08,24.40,26.73,22.51,23.92,30168804 2-Oct-08,23.91,25.12,23.10,23.21,17885644 1-Oct-08,22.72,24.87,21.76,24.42,36159359 … $ cat data.csv | cut -f5 -d"," > close.dat# záróárfolyamok kivágása

  22. Részvény árfolyam vizsgálat - AWK $ cat close.dat | awk '{if (NR>2) {print $1-old};old=$1}' > diff.dat # növekmény lépésenkénti meghatározása $ MAX=`cat diff.dat | sort -n | tail -1` # legnagyobb növekmény $ MIN=`cat diff.dat | sort -n | head -1` # legkisebb növekmény $ cat diff.dat | awk -v min=$MIN -v max=$MAX -v N=250 'BEGIN{for (i=0;i<N;i++) {h[i]=0;}}{h[int(($1-min)/((max-min)/N))]++} END{for (i=0;i<N;i++) print i*((max-min)/N)+min,h[i]}' > reszveny_hist.dat# AWK hisztogram készítés, ld. pár oldallal korábban

  23. Eredmény / Gyakorlat

  24. Gyakorlat • Az előző feladat egyéni megvalósítása • Kapott két hisztogram ábrázolása gnuplottal • A kapott eredmények összehasonlítása, közös interpretációja, diszkusszió

  25. Kérdések? haga@elte.hu

More Related