Informatika1-2012/Gyakorlat0
A MathWikiből
(Változatok közti eltérés)
(egy szerkesztő 32 közbeeső változata nincs mutatva) | |||
1. sor: | 1. sor: | ||
== Bevezetés == | == Bevezetés == | ||
− | === Disztribúciók === | + | === Disztribúciók === |
* Néhány példa: | * Néhány példa: | ||
** Debian | ** Debian | ||
− | ** Ubuntu | + | ** [http://www.ubuntu.com| Ubuntu] |
** Arch Linux | ** Arch Linux | ||
** Slackware | ** Slackware | ||
12. sor: | 12. sor: | ||
** Chromium OS | ** Chromium OS | ||
** Elementary OS | ** Elementary OS | ||
− | * | + | * [http://upload.wikimedia.org/wikipedia/commons/8/8c/Gldt.svg| Linux disztribúciók fejődése] |
* Próba: ubuntu Live CD, flash, wubi | * Próba: ubuntu Live CD, flash, wubi | ||
=== Ablakkezelők === | === Ablakkezelők === | ||
− | * | + | * [http://en.wikipedia.org/wiki/Desktop_environment| Néhány példa]: |
** Gnome 3, Gnome Shell | ** Gnome 3, Gnome Shell | ||
** Unity | ** Unity | ||
45. sor: | 45. sor: | ||
== Parancsok, programok == | == Parancsok, programok == | ||
− | + | === Állományok === | |
− | * '''pwd''': aktuális könyvtár kiíratása | + | * '''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''': 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'''): | + | * '''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''': könyvtár létrehozása. ''mkdir BME'' |
− | * TAB: kiegészítés | + | * TAB: kiegészítés. |
− | * '''cp''': másolás | + | * '''cp''': másolás. ''cp mit.txt hova.txt'' |
− | * '''mv''': mozgatás/átnevezés (az eredeti nem marad meg) | + | * '''mv''': mozgatás/átnevezés (az eredeti nem marad meg). ''mv mit.txt hova.txt'' |
− | * '''rm''': törlés | + | * '''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. | * '''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''', '''du''' '''(-h)''': lemezen szabad / felhasznált helyet írja ki. ''df -h ./ '', ''du -h /home'' |
− | * ''' | + | * '''mc''': midnight commander fájlböngésző. |
− | * '''history''': parancs történet lekérdezése | + | === Alkalmazások, folyamatok === |
− | * '''apropos''': parancs/program nevek keresése | + | * '''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'' |
− | * '''top''': futó alkalmazások | + | * '''history''': parancs történet lekérdezése. |
− | * '''killall''', '''xkill''': processzek leállítása | + | * '''apropos''': parancs/program nevek keresése. ''apropos vi'' |
− | * '''vim''': command line szövegszerkesztő | + | * '''ctrl-R''': keresés a history-ban. |
− | * '''cat''': fájl tartalmának kiíratása | + | * '''top''': futó alkalmazások. |
− | * '''grep''': szöveg mintázatok keresése állományokban | + | * '''killall (-u)''', '''xkill''': processzek leállítása. ''killall -u palovics'' |
− | * '''less''': szöveges állományok megjelenítése | + | ===Szöveges állományok=== |
− | * '''head''' (-n ), '''tail''' (-n ): fájl elejének és végének a kiiratása | + | * '''vim''': command line szövegszerkesztő. |
− | * '''>''','''<''','''|''': output átirányítása, "pipe"-olás | + | * '''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'' |
− | * '''sort''' (-g -k): szövegállomány rendezése | + | * '''grep''': szöveg mintázatok keresése állományokban. ''grep kifejezés file'' |
− | * '''wc''' (-l): byte/karakterek/sorok számolás adott fájlra | + | * '''less''': szöveges állományok megjelenítése. ''less valami.txt'' |
− | * '''ssh''': távoli gépre való bejelentkezést teszi lehetővé. | + | * '''head''' (-n ), '''tail''' (-n ): fájl elejének és végének a kiiratása. ''head -n 100 valami.txt'' |
− | * '''scp''': távoli gépre/gépről való másolás. | + | * '''>''','''<''','''|''': output átirányítása, "pipe"-olás. |
− | * '''wget''': file-ok letöltése HTTP, HTTPS és FTP használatával | + | * '''sort''' (-g -k): szövegállomány rendezése. |
− | + | * '''wc''' (-l): byte/karakterek/sorok számolás adott fájlra. | |
− | * '''exit''': kilépés terminálból (vagy ctrl+d) | + | * '''awk''': programozási nyelv szöveges állományok feldolgozására. |
− | * '''sudo''': programok futtatása superuserként | + | ===Távoli elérés=== |
− | * | + | * '''ssh''': távoli gépre való bejelentkezést teszi lehetővé. ''felhasznalo@omnibus2.math.bme.hu'' |
− | + | * '''scp''': távoli gépre/gépről való másolás. ''scp felhasznalo@omnibus2.math.bme.hu/home/stu_bme/felhasznalo/dokumentum.txt ./dokumentum.txt'' | |
− | * Reguláris kifejezések | + | * '''wget''': file-ok letöltése HTTP, HTTPS és FTP használatával. |
− | * Felhasználó jogok, ezek megváltoztatása | + | ===Egyéb=== |
− | * Shell scriptek | + | * '''exit''': kilépés terminálból (vagy ctrl+d). |
− | * Futtatható file-ok | + | * '''sudo''': programok futtatása superuserként. |
− | * ... | + | * Egyéb hasznos fogalmak |
+ | ** Reguláris kifejezések | ||
+ | ** [http://en.wikipedia.org/wiki/Chmod| Felhasználó jogok, ezek megváltoztatása] | ||
+ | ** Shell scriptek | ||
+ | ** Futtatható file-ok | ||
+ | ** ... | ||
== Feladatok == | == Feladatok == | ||
*Hozz létre egy könyvtárat "GYAK1" néven a saját mappádban, és lépj be a mappába. | *Hozz létre egy könyvtárat "GYAK1" néven a saját mappádban, és lépj be a mappába. | ||
101. sor: | 106. sor: | ||
wc -l edge_list | wc -l edge_list | ||
</bash> | </bash> | ||
− | * Írd ki a 11-es csúcsból induló éleket, | + | * Írd ki a 11-es csúcsból induló éleket, majd irányítsd a kimenetet a "edges_11" file-ba |
<bash> | <bash> | ||
grep 11 edge_list | grep 11 edge_list | ||
113. sor: | 118. sor: | ||
<bash> | <bash> | ||
awk 'BEGIN{ez_csak_pelda_beginre=0;}{DEG[$1]++;DEG[$2]++}END{for (i in DEG) print i,DEG[i]}' edge_list > degrees | 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 | ||
</bash> | </bash> | ||
Határozd meg a legnagyobb és legkisebb fokú csúcsot. | Határozd meg a legnagyobb és legkisebb fokú csúcsot. | ||
<bash> | <bash> | ||
sort -g -k2,2 degrees > degrees_sorted | sort -g -k2,2 degrees > degrees_sorted | ||
+ | less degrees_sorted | ||
head -n 1 degrees_sorted | head -n 1 degrees_sorted | ||
tail -n 1 degrees_sorted | tail -n 1 degrees_sorted | ||
+ | </bash> | ||
+ | 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. | ||
+ | <bash> | ||
+ | csucs=$1 | ||
+ | echo "a ("$csucs") csucs fokszama:" | ||
+ | awk 'BEGIN{DEG=0;}{if($1=="'$csucs'"){DEG++;}if($2=="'$csucs'"){DEG++;}}END{print DEG}' edge_list | ||
+ | </bash> | ||
+ | Futtasd a scriptet különböző csúcsokkal, példa: | ||
+ | <bash> | ||
+ | sh fokszam.sh 11 | ||
</bash> | </bash> |
A lap jelenlegi, 2012. szeptember 10., 20:11-kori változata
Tartalomjegyzék |
Bevezetés
Disztribúciók
- Néhány példa:
- Debian
- Ubuntu
- Arch Linux
- Slackware
- Red Hat
- Ubuntu "derivatives":
- Kubuntu
- Xubuntu
- Chromium OS
- Elementary OS
- Linux disztribúciók fejődése
- Próba: ubuntu Live CD, flash, wubi
Ablakkezelők
- Néhány példa:
- Gnome 3, Gnome Shell
- Unity
- KDE
- Xfce
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
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@omnibus2.math.bme.hu
- scp: távoli gépre/gépről való másolás. scp felhasznalo@omnibus2.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
- Töltsd le a wget programmal az alábbi (gráf) él listát: [1]
wget https://dl.dropbox.com/u/1100162/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 11-es csúcsból induló éleket, majd irányítsd a kimenetet a "edges_11" file-ba
grep 11 edge_list grep 11 edge_list > edges_11
Számold ki a 11-es csúcs fokszámát.
grep 11 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 11