Informatika1-2013/Gyakorlat1

A MathWikiből
(Változatok közti eltérés)
(Feladatok)
 
(egy szerkesztő 12 közbeeső változata nincs mutatva)
66. sor: 66. sor:
 
* Felhasználói felületet megvalósító parancsértelmező.
 
* Felhasználói felületet megvalósító parancsértelmező.
 
* Példák: sh, bash, ksh, csh, vsh, tcsh
 
* Példák: sh, bash, ksh, csh, vsh, tcsh
 +
 +
== Levelezés ==
 +
 +
* A [https://webmail.math.bme.hu/ https://webmail.math.bme.hu/] címen megtekinthetitek az emailjeiteket.
 +
* Itt lehetõség van arra is, hogy átirányítsátok az e-mailjeiteket egy másik címre:
 +
** Bejelentkezés után bal fent '''Preferences''', majd az elsõ blokkból '''Forward mail to'''
 +
** Ha ide beírjátok a használatban levõ e-mail címeteket akkor továbbítja a leveleket, de meg is tart egy másolatot ezen a felületen.
 +
** Ha nem szeretnétek másolatot tartani (ne teljen be a tárhelyetek), akkor az elõzõ oldalon szedjétek ki a pipát a '''Keep local copy''' opcióról.
 +
* Ez már félig tökéletes, viszont itt infón elvárjuk, hogy nekünk a math.bme.hu-s címetekrõl írjatok.
 +
* A következõ módon be lehet állítani, hogy gmail.com-os címetekrõl írjatok levelet, de a math.bme.hu-n keresztül küldje.
 +
** Jobb fent fogaskerék -> '''Beállítások''' -> '''Fiókok''' -> '''E-mail küldése erről a címről''' -> '''További saját e-mail cím hozzáadása'''
 +
** A felugró ablakba adjátok meg a math.bme.hu-s címeteket, majd kaptok még egy levelet amivel megerõsíthetitek, hogy ez tényleg a ti e-mail címetek és kész.
 +
** Mostantól amikor levelet írtok kiválaszthatjátok a '''Feladó'''nál, hogy melyik címrõl küldje.
  
 
== Parancsok, programok ==
 
== Parancsok, programok ==
116. sor: 129. sor:
 
cd ./GYAK1
 
cd ./GYAK1
 
</bash>
 
</bash>
* Töltsd le a wget programmal az alábbi (gráf) él listát: [https://dl.dropbox.com/u/1100162/edge_list]
+
* Készíts egy file-t test néven amiben csak annyi van: "info1".
 
<bash>
 
<bash>
wget https://dl.dropbox.com/u/1100162/edge_list
+
echo info1 > test
 +
</bash>
 +
* Változtatsd meg a test file hozzáférési jogát úgy, hogy senki ne tehessen vele semmit.
 +
<bash>
 +
chmod 000 test
 +
</bash>
 +
* Próbáld meg letörölni.
 +
<bash>
 +
rm test
 +
</bash>
 +
* Próbálj meg belenézni.
 +
<bash>
 +
less test
 +
</bash>
 +
* Adj vissza magadnak minden jogot és a csoportodnak olvasási jogot.
 +
<bash>
 +
chmod 740 test
 +
</bash>
 +
* Most nézz bele, majd töröld le.
 +
<bash>
 +
cat test
 +
rm test
 +
</bash>
 +
* Töltsd le a wget programmal az alábbi (gráf) él listát: [http://math.bme.hu/~kkovacs/info1/graf.jpg]
 +
<bash>
 +
wget http://math.bme.hu/~kkovacs/info1/edge_list
 
</bash>
 
</bash>
 
* Készíts biztonsági másolatot a file-ról, majd ellenőrizd a másolatot.
 
* Készíts biztonsági másolatot a file-ról, majd ellenőrizd a másolatot.
129. sor: 167. sor:
 
wc -l edge_list
 
wc -l edge_list
 
</bash>
 
</bash>
* Írd ki a 11-es csúcsból induló éleket, majd irányítsd a kimenetet a "edges_11" file-ba
+
* Írd ki a 3-as csúcsból induló éleket, majd irányítsd a kimenetet a "edges_3" file-ba
 
<bash>
 
<bash>
grep 11 edge_list
+
grep 3 edge_list
grep 11 edge_list > edges_11
+
grep 3 edge_list > edges_3
 
</bash>
 
</bash>
Számold ki a 11-es csúcs fokszámát.
+
Számold ki a 3-as csúcs fokszámát.
 
<bash>
 
<bash>
grep 11 edge_list | wc -l
+
grep 3 edge_list | wc -l
 
</bash>
 
</bash>
 
Számold ki az összes csúcs fokszámát.
 
Számold ki az összes csúcs fokszámát.
158. sor: 196. sor:
 
Futtasd a scriptet különböző csúcsokkal, példa:
 
Futtasd a scriptet különböző csúcsokkal, példa:
 
<bash>
 
<bash>
sh fokszam.sh 11
+
sh fokszam.sh 3
 
</bash>
 
</bash>
 +
 +
== Sage ízelítõ ==
 +
 +
[http://www.sagenb.org/ http://www.sagenb.org]

A lap jelenlegi, 2013. szeptember 10., 02:25-kori változata

Tartalomjegyzék

Bevezetés

A Linux fájlrendszere

  • Tulajdonságok:
    • Fa struktúra
    • / : gyökér könyvtár. A fájlrendszer kiindulópontja.
    • állományok:
      • közönséges
      • speciális (pl. /dev/cdrom)
      • katalógus
  • Néhány katalógus
    • /home/: A felhasználók saját könyvtárai (teljes hozzáférés).
    • /boot/ : A boot-oláshoz szükséges fájlok.
    • /tmp/ : Alkalmazások ideiglenes fájljai.
    • /dev/ : Eszközök (HDD, CD, billentyűzet)
    • /mnt/ : Mount pontokat tartalmazó könyvtár
    • ./ : Az aktuális könyvtár.
    • ../ : Az aktuális könyvtár szülő könyvtára.
    • ~/ : A felhasználó home könyvtára. Ugyanaz, mint a $HOME környezeti változó.
    • Mindenkinek van egy saját mappája a /home/student/felhasznaloi_nev alatt.

Shell

  • Parancsértelmező és programozási nyelv. A parancsokat a standard inputról, vagy állományból olvassa.
  • Felhasználói felületet megvalósító parancsértelmező.
  • Példák: sh, bash, ksh, csh, vsh, tcsh

Levelezés

  • A https://webmail.math.bme.hu/ címen megtekinthetitek az emailjeiteket.
  • Itt lehetõség van arra is, hogy átirányítsátok az e-mailjeiteket egy másik címre:
    • Bejelentkezés után bal fent Preferences, majd az elsõ blokkból Forward mail to
    • Ha ide beírjátok a használatban levõ e-mail címeteket akkor továbbítja a leveleket, de meg is tart egy másolatot ezen a felületen.
    • Ha nem szeretnétek másolatot tartani (ne teljen be a tárhelyetek), akkor az elõzõ oldalon szedjétek ki a pipát a Keep local copy opcióról.
  • Ez már félig tökéletes, viszont itt infón elvárjuk, hogy nekünk a math.bme.hu-s címetekrõl írjatok.
  • A következõ módon be lehet állítani, hogy gmail.com-os címetekrõl írjatok levelet, de a math.bme.hu-n keresztül küldje.
    • Jobb fent fogaskerék -> Beállítások -> Fiókok -> E-mail küldése erről a címről -> További saját e-mail cím hozzáadása
    • A felugró ablakba adjátok meg a math.bme.hu-s címeteket, majd kaptok még egy levelet amivel megerõsíthetitek, hogy ez tényleg a ti e-mail címetek és kész.
    • Mostantól amikor levelet írtok kiválaszthatjátok a Feladónál, hogy melyik címrõl küldje.

Parancsok, programok

Állományok

  • pwd: aktuális könyvtár kiíratása. pwd
  • cd: könyvtárváltás. Ha paraméter nélkül hívjuk meg, akkor a saját mappánkba visz. cd /mnt, cd
  • ls: (-a, -h, -l): könyvtár tartalmának listázása. ls, ls -h, ls /dev, ls -h -l /mnt
  • mkdir: könyvtár létrehozása. mkdir BME
  • TAB: kiegészítés.
  • cp: másolás. cp mit.txt hova.txt
  • mv: mozgatás/átnevezés (az eredeti nem marad meg). mv mit.txt hova.txt
  • rm (-r): törlés. rm alma.txt, rm -r BME
  • quota: A felhasznált/megmaradt helyet írja ki. Ha a kvótánk betelik, akkor nem kapjuk meg a nekünk címzett leveleket és a grafikus terminálra sem tudunk belépni; ilyenkor a parancssoros terminálra belépve tudjuk kitakarítani a home-unkat.
  • df, du (-h): lemezen szabad / felhasznált helyet írja ki. df -h ./ , du -h /home
  • mc: midnight commander fájlböngésző.

Alkalmazások, folyamatok

  • man: az adott parancsról leírást ad. A leírásban navigálni a 'fel', illetve a 'le' billentyűkkel, továbbá a 'PageUp', 'PageDown'-nal lehet. Kereséshez '/' jel után kell beírni a kifejezést. Kilépés 'q'-val. man ls
  • history: parancs történet lekérdezése.
  • apropos: parancs/program nevek keresése. apropos vi
  • ctrl-R: keresés a history-ban.
  • top: futó alkalmazások.
  • killall (-u), xkill: processzek leállítása. killall -u palovics

Szöveges állományok

  • vim: command line szövegszerkesztő.
  • cat: fájl tartalmának kiíratása. Ha nem adunk meg fájlnevet, akkor a billentyűzetről vár bevitelt. Kilépés: Ctrl-D-vel. cat valami.txt
  • grep: szöveg mintázatok keresése állományokban. grep kifejezés file
  • less: szöveges állományok megjelenítése. less valami.txt
  • head (-n ), tail (-n ): fájl elejének és végének a kiiratása. head -n 100 valami.txt
  • >,<,|: output átirányítása, "pipe"-olás.
  • sort (-g -k): szövegállomány rendezése.
  • wc (-l): byte/karakterek/sorok számolás adott fájlra.
  • awk: programozási nyelv szöveges állományok feldolgozására.

Távoli elérés

  • ssh: távoli gépre való bejelentkezést teszi lehetővé. felhasznalo@leibniz.math.bme.hu
  • scp: távoli gépre/gépről való másolás. scp felhasznalo@leibniz.math.bme.hu/home/stu_bme/felhasznalo/dokumentum.txt ./dokumentum.txt
  • wget: file-ok letöltése HTTP, HTTPS és FTP használatával.

Egyéb

  • exit: kilépés terminálból (vagy ctrl+d).
  • sudo: programok futtatása superuserként.
  • Egyéb hasznos fogalmak

Feladatok

  • Hozz létre egy könyvtárat "GYAK1" néven a saját mappádban, és lépj be a mappába.
mkdir GYAK1
cd ./GYAK1
  • Készíts egy file-t test néven amiben csak annyi van: "info1".
echo info1 > test
  • Változtatsd meg a test file hozzáférési jogát úgy, hogy senki ne tehessen vele semmit.
chmod 000 test
  • Próbáld meg letörölni.
rm test
  • Próbálj meg belenézni.
less test
  • Adj vissza magadnak minden jogot és a csoportodnak olvasási jogot.
chmod 740 test
  • Most nézz bele, majd töröld le.
cat test
rm test
  • Töltsd le a wget programmal az alábbi (gráf) él listát: [1]
wget http://math.bme.hu/~kkovacs/info1/edge_list
  • Készíts biztonsági másolatot a file-ról, majd ellenőrizd a másolatot.
cp edge_list edge_list_save
less edge_list_save
  • Számold meg az élek számát a gráfban.
wc -l edge_list
  • Írd ki a 3-as csúcsból induló éleket, majd irányítsd a kimenetet a "edges_3" file-ba
grep 3 edge_list
grep 3 edge_list > edges_3

Számold ki a 3-as csúcs fokszámát.

grep 3 edge_list | wc -l

Számold ki az összes csúcs fokszámát.

awk 'BEGIN{ez_csak_pelda_beginre=0;}{DEG[$1]++;DEG[$2]++}END{for (i in DEG) print i,DEG[i]}' edge_list > degrees
less degrees

Határozd meg a legnagyobb és legkisebb fokú csúcsot.

sort -g -k2,2 degrees > degrees_sorted
less degrees_sorted
head -n 1 degrees_sorted
tail -n 1 degrees_sorted

Bónusz: Készíts el első linux scriptedet! Gedit segítségével a "fokszam.sh" scriptbe másold be a következő sort. Az értelmezésben segítek, ez egy bonyolultabb példa, semmi pánik.

csucs=$1
echo "a ("$csucs") csucs fokszama:"
awk 'BEGIN{DEG=0;}{if($1=="'$csucs'"){DEG++;}if($2=="'$csucs'"){DEG++;}}END{print DEG}' edge_list

Futtasd a scriptet különböző csúcsokkal, példa:

sh fokszam.sh 3

Sage ízelítõ

http://www.sagenb.org

Személyes eszközök