Informatika1-2013/Gyakorlat1
A MathWikiből
(Változatok közti eltérés)
(→Feladatok) |
|||
(egy szerkesztő 10 közbeeső változata nincs mutatva) | |||
68. sor: | 68. sor: | ||
== Levelezés == | == Levelezés == | ||
− | |||
− | |||
* A [https://webmail.math.bme.hu/ https://webmail.math.bme.hu/] címen megtekinthetitek az emailjeiteket. | * 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: | * 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''' | ** 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 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. | + | ** 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 | + | * 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 | + | * 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''' | ** 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. | ** 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. | ||
131. sor: | 129. sor: | ||
cd ./GYAK1 | cd ./GYAK1 | ||
</bash> | </bash> | ||
− | * | + | * Készíts egy file-t test néven amiben csak annyi van: "info1". |
<bash> | <bash> | ||
− | wget | + | 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. | ||
144. sor: | 167. sor: | ||
wc -l edge_list | wc -l edge_list | ||
</bash> | </bash> | ||
− | * Írd ki a | + | * Írd ki a 3-as csúcsból induló éleket, majd irányítsd a kimenetet a "edges_3" file-ba |
<bash> | <bash> | ||
− | grep | + | grep 3 edge_list |
− | grep | + | grep 3 edge_list > edges_3 |
</bash> | </bash> | ||
− | Számold ki a | + | Számold ki a 3-as csúcs fokszámát. |
<bash> | <bash> | ||
− | grep | + | 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. | ||
173. 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 | + | sh fokszam.sh 3 |
</bash> | </bash> | ||
+ | |||
+ | == Sage ízelítõ == | ||
+ | |||
+ | [http://www.sagenb.org/ http://www.sagenb.org] |
A lap jelenlegi, 2013. szeptember 10., 03: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
- Reguláris kifejezések
- Felhasználó jogok, ezek megváltoztatása
- Shell scriptek
- Futtatható file-ok
- ...
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