Differences between revisions 60 and 74 (spanning 14 versions)
Revision 60 as of 2009-05-16 17:15:42
Size: 4882
Editor: dial-95-105-158-139-orange
Comment:
Revision 74 as of 2010-03-29 15:35:56
Size: 5185
Editor: jenca
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
== Downloady pre cvičenia == ## == Downloady pre cvičenia ==
##
## [[attachment:gallery.tar.gz]]
##[[attachment:passwd.txt]]
## [[attachment:zadanie2.pdf]]
##[[attachment:zadanie_opr.pdf]]
Line 7: Line 12:
[[attachment:gallery.tar.gz]]
[[attachment:passwd.txt]]
[[attachment:zadanie2.pdf]]
Line 11: Line 13:
== Uploady == ##== Uploady ==
Line 13: Line 15:
[[/Uploady]] ##[[/Uploady]]
Line 21: Line 23:
V stredu 12:00-13:50. Radšej ale konzultuje priamo na cvičení. V utorok 16:00-17:00. Radšej ale konzultuje priamo na cvičení.
Line 34: Line 36:
== Skúška == ##== Výsledky ==
##
##[[/Výsledky]]
Line 36: Line 40:
Z Vychodila treba vedieť: == Zadanie na prvé zápočtové cvičenie ==
Line 38: Line 42:
 * Kapitola 3: od začiatku až po 3.6 včítane
 * Kapitola 4: od začiatku až po 4.3 včítane
 * Kapitola 5: v tej miere ako bolo odprednášané, najmä
  * štruktúra príkazového riadku, úvodzovky, apostrofy, medzery, opačné lomítka atď
  * presmerovanie vstupu a výstupu, {{{>,<,>>,<<,|}}}
  * skripty, mechanizmus fungovania konštrukcie {{{!#}}}
  * premenné, špeciálne premenné, argumenty skriptov
  * kontrola toku programu : {{{if,while,for}}}
  * princíp fungovania {{{if}}} a {{{while}}} cez exit status
  * príkaz {{{test}}}
 * Kapitola 6:
  * základné programy pre prácu s textom {{{sort,cut,paste}}}
  * regulárne výrazy, program {{{grep}}}
  * program {{{sed}}} (iba príkaz)
<<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í.
<<Pohov>>
Line 53: Line 49:
Z Pythonu treba vedieť základy: 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.
Line 55: Line 51:
 * zabudované dátové typy
 * základy programovania ({{{for,while,if}}})
 * funkcie a parametre
 * triedy
a) premenovanie obrázkov
Line 60: Line 53:
Na skúške sa vás:
 
 * Spýtam na pár vecí z kapitoly 3 a 4.
 * Napíšete mi jeden-dva jednoduché príkazové riadky vykonávajúce zadanú činnosť. Nemusíte sa učiť všetky options všetkých príkazov, ak bude niečo treba vedieť, prezradím to. Ide mi o overenie znalosti princípu fungovania.
 * Bude zadanie o regulárnych výrazoch.
 * Napíšete krátky program v Pythone.
 
== Výsledky ==
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`.
Line 69: Line 55:
[[/Výsledky]] 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.
Line 71: Line 57:
== Domáce zadania, cvičenia == b) upravte skript z a) tak, aby premenoval aj súbory ako `obrazok1.jPG` a podobne.
Line 73: Line 59:
[[/Zadanie1 | Domáce zadanie na prvé cvičenie]] Pomôcka: man sed.
Line 75: Line 61:
[[attachment:python_zadania.pdf | Zadania z Pythonu]] <- Verzia 6.5.2009 c) a teraz to spravte všeobecne:
Line 77: Line 63:
Domáce zadanie na testovacie cvičenie z Pythonu: vyriešte zo zadaní časť o reláciách.
Domáce zadanie na opravné/náhradné cvičenie z shell scriptov: rovnaké ako na normálne cvičenie.
Napíšte skript, ktorý dostane v argumentoch zoznam mien súborov a premenuje ich tak, aby mali koncovky malými
písmenami.
Line 80: Line 66:
== Vzorove riesenia cviceni == Pomôcky: neurčitý počet argumentov je možné spracovať pomocou cyklu
{{{
while true
do
  ... spracovanie $1 ...
  if shift
  then
     break
  fi
done
}}}
alebo
{{{
while test "$*" != ""
do
  ... spracovanie $1 ...
  shift
done
}}}
prípadne
{{{
for ARG in "$@"
do
  ... spracovanie $ARG ...
done
}}}
Line 82: Line 93:
[[/Riesenie 1| Riešenie prvého skúšobného cvičenia (shell)]] Pre transformáciu veľkých písmen na malé použite príkaz `tr`.


== Ďalšie cvičenia ==

[[ /CviceniaZoShellu | Cvičenia zo shellu]]

[[attachment:python_zadania.pdf | Cvičenia z Pythonu]]
Line 124: Line 142:
15 bodov z 30. Body sa budú udeľovať v rámci cvičení. 15 bodov z 30. Body sa budú udeľovať v rámci cvičení. Budú 2 zápočtové cvičenia, jedno zo shell
scriptov a jedno z Pythonu.

Operačné systémy

2008/09 -- LS

Vyučujúci

Konzultačné hodiny

V utorok 16:00-17:00. Radšej ale konzultuje priamo na cvičení.

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
  • Programovací jazyk Python

Zadanie na prvé zápočtové 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í.

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.

Pomôcka: man sed.

c) a teraz to spravte všeobecne:

Napíšte skript, ktorý dostane v argumentoch zoznam mien súborov a premenuje ich tak, aby mali koncovky malými písmenami.

Pomôcky: neurčitý počet argumentov je možné spracovať pomocou cyklu

while true
do
  ... spracovanie $1 ...
  if shift
  then
     break
  fi
done

alebo

while test "$*" != ""
do 
  ... spracovanie $1 ...
  shift
done

prípadne

for ARG in "$@"
do
  ... spracovanie $ARG ...
done

Pre transformáciu veľkých písmen na malé použite príkaz tr.

Ďalšie cvičenia

Cvičenia zo shellu

Cvičenia z Pythonu

Materiály

Literatúra

  1. 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)

  2. Začínáme programovat v jazyce Python, Daryl Harms, Kenneth McDonald; Computer Press, 2003

  3. Learning Python",, Mark Lutz, David Ascher; O'Reilly 2007, http://slav0nic.org.ua/static/books/python/OReilly.Learning.Python.3rd.Edition.Oct.2007.eBook-BBL.rar

  4. The Art of Unix Programming, Eric S. Raymond, http://www.faqs.org/docs/artu/

  5. Umění programování v Unixu, Eric S. Raymond, (český preklad horeuvedeného)

  6. How To Ask Questions The Smart Way, Eric Steven Raymond, http://www.catb.org/~esr/faqs/smart-questions.html

  7. Dive into Python, Mark Pilgrim, http://www.diveintopython.org/

  8. Advanced Bash-Scripting Guide, Mendel Cooper, http://tldp.org/guides.html

  9. GNU/Linux Command-Line Tools Summary, Gareth Anderson, http://tldp.org/guides.html

  10. A Byte of Python, Swaroop C H, http://www.swaroopch.com/notes/Python

  11. How to Think Like a Computer Scientist, Jeffrey Elkner, Allen B. Downey and Chris Meyers, http://openbookproject.net//thinkCSpy/

Webové stránky

  1. http://www.root.cz/clanky/regularni-vyrazy-1/ seriál o regulárnych výrazoch od P. Satrapu

  2. http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám Pythonu

Podmienky na zápočet

15 bodov z 30. Body sa budú udeľovať v rámci cvičení. Budú 2 zápočtové cvičenia, jedno zo shell scriptov a jedno z Pythonu.

Príklady a cvičenia

Výsledky

KMaDGWiki: OperacneSystemy (last edited 2024-09-17 13:58:44 by jenca)