Size: 2390
Comment:
|
Size: 5136
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Operačné systémy = | ## page was renamed from OperacneSystemy = Počítačové siete = |
Line 3: | Line 4: |
2007/08 -- ZS | 2008/09 -- ZS |
Line 10: | Line 11: |
* Jozef Martin Kollar jmkollar@penguin.sk | |
Line 24: | Line 24: |
* Protokol http * Základy HTML |
|
Line 25: | Line 27: |
== Témy na skúšku == | == Výsledky == |
Line 27: | Line 29: |
[[Pozor]] Skúška je 18.1.2008 o 10:00. Dostavte sa na KM na FEI STU, na 4. poschodie. Konzultovať môžete 17.1.2007 o 10:00, u mňa v kancelárii. [[Pohov]] 1. Súborový systém, užívatelia a skupiny, prístupové práva 2. Procesy, signály, rúry. 3. Regulárne výrazy. 4. Náčrt riešenia jednoduchého problému v shelli. 5. Náčrt jednoduchého programu v Pythone. 6. Základy internetových protokolov IP, TCP, UDP, HTTP. |
[[/Prve|Prvé zápočtové cvičenie]] |
Line 43: | Line 33: |
[:/Zadanie1: prvé] | === Cvičenia pre prípravu na prvé skúšobné cvičenie === <<Pozor>> Tieto zadania si vypracujte doma. Ak to zvládnete sami, nemali by ste mať na skúšobnom cvičení problém. Môžete si samozrejme navzájom pomáhať. Zadania nebudem zbierať. Na cvičení vám dám urobiť niečo podobné, takže si vypracované zadania doneste, pomôže vám to. Body dostanete za to, čo urobíte priamo na cvičení. '''Skúšobné cvičenie bude vo štvrtok 30.10 -- nie v piatok, aby nás nezaskočilo prípadné voľno pred 1.11''' <<Pohov>> Pripomínam, že príkaz {{{man}}} je vaším priateľom. Pre komplexnejšie informácie odporúčam nahliadnuť do Advanced Bash Scripting Guide, link je nižšie. a) premenovanie obrázkov Vytvorte v bashi skript {{{rename_pics}}}, ktorý premenuje všetky súbory v aktuálnom adresári, ktoré majú koncovku {{{JPG}}} na súbory s koncovkou {{{jpg}}}, napr. {{{obrazok1.JPG}}} premenuje na {{{obrazok1.jpg}}}. Pomôcka: pre transformáciu mena môžete použiť takéto niečo: {{{ NOVE_MENO=`echo $STARE_MENO | sed '...'`}}} Dávajte si pozor na to, aby ste premenovali iba koncovky, reťazec {{{JPG}}} sa môže vyskytovať aj uprostred mena súboru. Môžete prepokladať, že mená súborov neobsahujú žiadne biele znaky, napr. medzery. b) upravte skript z A) tak, aby premenoval aj súbory ako {{{obrazok1.jPG}}} a podobne. c) Vytvorte v bashi skript {{{showsize}}}, ktorý sčíta dĺžky súborov v aktuálnom adresári a výsledok vypíše. Pomôcka: je niekoľko ciest ako to spraviť. Vyskúšajte prvú cestu a potom druhú: V prvom rade musíte nejako vyprodukovať stĺpec s dľžkami súborov. Buďto na to choďte cez {{{ ls -l | tail -n +2 | cut -c ... }}} alebo {{{ for FILE in *; do stat ... $FILE done }}} (viď manuálová stránka {{{stat}}}) Teraz je viac ciest. 1. Naprogramujete to sčítanie v bashi sami, klasicky cez premenné s použitím bashovskej aritmetiky cez príkaz let. 2. Pomocou postupnosti príkazov prepojených do rúry vyrobíte z tých čísel výraz ako {{{12+1024+254}}} a ten potom pošlete na vstup príkazu bc cez rúru. Budete zrejme musieť nahradiť nové riadky plusom, to sa robí pomocou {{{ tr '\n' '+' }}} Kostra prvého spôsobu: {{{ SUM=0 for NUMBER in `... kód produkujúci zoznam dĺžok ...`; do ... sem prirátavanie NUMBER k SUM cez let ... done echo $SUM }}} Kostra druhého spôsobu: {{{ ... kód produkujúci zoznam dĺžok ... | tr '\n' '+' | bc }}} Poznamenávam, že tomu ešte niečo chýba, pretože ten {{{tr}}} vyrobí z posledného newline tiež plus, takže {{{bc}}} bude frfľať, že má nekorektný príkaz. Stačí však ešte jeden {{{sed 's...'}}} a je to; poraďte si sami. === Cvičenia z pythonu === 1. Napíšte program, ktorý zostrojí a vypíše zoznam prvočísiel < 100 1. Napíšte funkciu, ktorá transponuje maticu. Matica je daná ako zoznam zoznamov čísel. 1. Napíšte funkciu {{{permutuj(zoz)}}}, ktorá vráti všetky permutácie zoznamu {{{zoz}}} |
Line 47: | Line 106: |
* [attachment:prva.pdf pdf k prvej prednáške] | * [[attachment:prva.pdf|pdf k prvej prednáške]] * [[attachment:tahak_unix.pdf|Ťahák - príkazy v UNIXe]] |
Line 51: | Line 110: |
* [:/Fork:fork(), wait(), SIGCHLD] * [:/Pipe:pipe()] * [:/Socket: UNIXové sockety] |
* [[/Fork|fork(), wait(), SIGCHLD]] * [[/Pipe|pipe()]] * [[/Socket| UNIXové sockety]] |
Počítačové siete
2008/09 -- ZS
Vyučujúci
Gejza Jenča gejza.jenca@stuba.sk
Stručná osnova predmetu
- Princípy OS Unix/Linux
- Základy práce so systémom
- Súborový systém
- Užívatelia a skupiny
- Procesy, rúry
- Prehľad základných utilít
- Programovanie v shelli, skripty
- Textový editor vim
- Programovací jazyk Python
- Základy internetových protokolov
- Protokol http
- Základy HTML
Výsledky
Domáce zadania
Cvičenia pre prípravu na prvé skúšobné cvičenie
![]() |
Tieto zadania si vypracujte doma. Ak to zvládnete sami, nemali by ste mať na skúšobnom cvičení problém. Môžete si samozrejme navzájom pomáhať. Zadania nebudem zbierať. Na cvičení vám dám urobiť niečo podobné, takže si vypracované zadania doneste, pomôže vám to. Body dostanete za to, čo urobíte priamo na cvičení. Skúšobné cvičenie bude vo štvrtok 30.10 -- nie v piatok, aby nás nezaskočilo prípadné voľno pred 1.11 |
Pripomínam, že príkaz man je vaším priateľom. Pre komplexnejšie informácie odporúčam nahliadnuť do Advanced Bash Scripting Guide, link je nižšie.
a) premenovanie obrázkov
Vytvorte v bashi skript rename_pics, ktorý premenuje všetky súbory v aktuálnom adresári, ktoré majú koncovku JPG na súbory s koncovkou jpg, napr. obrazok1.JPG premenuje na obrazok1.jpg.
Pomôcka: pre transformáciu mena môžete použiť takéto niečo: NOVE_MENO=`echo $STARE_MENO | sed '...'` Dávajte si pozor na to, aby ste premenovali iba koncovky, reťazec JPG sa môže vyskytovať aj uprostred mena súboru. Môžete prepokladať, že mená súborov neobsahujú žiadne biele znaky, napr. medzery.
b) upravte skript z A) tak, aby premenoval aj súbory ako obrazok1.jPG a podobne.
c) Vytvorte v bashi skript showsize, ktorý sčíta dĺžky súborov v aktuálnom adresári a výsledok vypíše.
Pomôcka: je niekoľko ciest ako to spraviť. Vyskúšajte prvú cestu a potom druhú:
V prvom rade musíte nejako vyprodukovať stĺpec s dľžkami súborov. Buďto na to choďte cez
ls -l | tail -n +2 | cut -c ...
alebo
for FILE in *; do stat ... $FILE done
(viď manuálová stránka stat)
Teraz je viac ciest.
- Naprogramujete to sčítanie v bashi sami, klasicky cez premenné s použitím bashovskej aritmetiky cez príkaz let.
Pomocou postupnosti príkazov prepojených do rúry vyrobíte z tých čísel výraz ako 12+1024+254 a ten potom pošlete na vstup príkazu bc cez rúru. Budete zrejme musieť nahradiť nové riadky plusom, to sa robí pomocou tr '\n' '+'
Kostra prvého spôsobu:
SUM=0 for NUMBER in `... kód produkujúci zoznam dĺžok ...`; do ... sem prirátavanie NUMBER k SUM cez let ... done echo $SUM
Kostra druhého spôsobu:
... kód produkujúci zoznam dĺžok ... | tr '\n' '+' | bc
Poznamenávam, že tomu ešte niečo chýba, pretože ten tr vyrobí z posledného newline tiež plus, takže bc bude frfľať, že má nekorektný príkaz. Stačí však ešte jeden sed 's...' a je to; poraďte si sami.
Cvičenia z pythonu
Napíšte program, ktorý zostrojí a vypíše zoznam prvočísiel < 100
- Napíšte funkciu, ktorá transponuje maticu. Matica je daná ako zoznam zoznamov čísel.
Napíšte funkciu permutuj(zoz), ktorá vráti všetky permutácie zoznamu zoz
Materiály
Pythonovské programy
Skripty
Literatúra
Linux: Příručka českého uživatele, Vilém Vychodil; Computer Press 2003, Brno (je žiadúce, aby každý mal svoju kópiu)
Začínáme programovat v jazyce Python, Daryl Harms, Kenneth McDonald; Computer Press, 2003 (nie je nutné, stačí dokumentácia v systéme)
The Art of Unix Programming, Eric S. Raymond, http://www.faqs.org/docs/artu/
Umění programování v Unixu, Eric S. Raymond, (český preklad horeuvedeného)
How To Ask Questions The Smart Way, Eric Steven Raymond, http://www.catb.org/~esr/faqs/smart-questions.html
Dive into Python, Mark Pilgrim, http://www.diveintopython.org/
Advanced Bash-Scripting Guide, Mendel Cooper, http://tldp.org/guides.html
GNU/Linux Command-Line Tools Summary, Gareth Anderson, http://tldp.org/guides.html
Webové stránky
http://www.root.cz/clanky/regularni-vyrazy-1/ seriál o regulárnych výrazoch od P. Satrapu
Podmienky na zápočet
20 bodov zo 40. Body sa budú udeľovať v rámci cvičení.
Príklady a cvičenia