Differences between revisions 18 and 32 (spanning 14 versions)
Revision 18 as of 2008-10-15 11:17:23
Size: 4087
Editor: 147
Comment:
Revision 32 as of 2009-02-18 12:56:52
Size: 85
Editor: 147
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:

== Vyučujúci ==

## Doplň vyučujúcich

 * 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

== Domáce zadania ==

=== Cvičenia pre prípravu na prvé skúšobné cvičenie ===

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 | cut -c ...
}}}
alebo
{{{
for FILE in *; do
stat ... $FILE
}}}
(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.

== Materiály ==

 * [[attachment:prva.pdf|pdf k prvej prednáške]]
 * [[attachment:tahak_unix.pdf|Ťahák - príkazy v UNIXe]]
=== Pythonovské programy ===

 * [[/Fork|fork(), wait(), SIGCHLD]]
 * [[/Pipe|pipe()]]
 * [[/Socket| UNIXové sockety]]

=== Skripty ===



== 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)
 1. ''Začínáme programovat v jazyce Python'', Daryl Harms, Kenneth !McDonald; Computer Press, 2003 (nie je nutné, stačí dokumentácia v systéme)
 1. ''The Art of Unix Programming'', Eric S. Raymond, http://www.faqs.org/docs/artu/
 1. ''Umění programování v Unixu'', Eric S. Raymond, (český preklad horeuvedeného)
 1. ''How To Ask Questions The Smart Way'', Eric Steven Raymond, http://www.catb.org/~esr/faqs/smart-questions.html
 1. ''Dive into Python'', Mark Pilgrim, http://www.diveintopython.org/
 1. ''Advanced Bash-Scripting Guide'', Mendel Cooper, http://tldp.org/guides.html
 1. ''GNU/Linux Command-Line Tools Summary'', Gareth Anderson, http://tldp.org/guides.html

== Webové stránky ==

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

== Výsledky ==

Počítačové siete

2008/09 -- ZS

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