Cviceni ze zakladu UNIXu

Ve skolnim roce 2008/2009 vedu cviceni z predmetu Uvod do UNIXu (NSWI095), najdete nas kazde utery od 14:00 a 15:40 v laboratori SU2. Tady najdete podminky pro zapocet, seznam domacich ukolu, a dle moznosti se budu snazit tvorit i nejake kratke zpravodajstvi ze cviceni. Cvicim skupiny c. 44 a 45, ovsem i studenti odjinud jsou vitani; uvidim, jak se mi bude darit cviceni synchronizovat a podle toho se bude vyvijet i webova stranka: budu se snazit, aby tu od vseho stacila jedna instance.

Pokud ke mne chcete chodit na cviceni, musite se zapsat v grupicku _a_ zaroven mi poslat mail.

Podminkou k ziskani zapoctu je bud napsat zapoctak, nebo zapoctovou pisemku a nejaky ten domaci ukol.

Cesta lva: Zapoctovy program by mel byt v rozsahu minimalne dvojnasobku zkouskove pisemky, a to v libovolne kombinaci shellu, sedu a awku. Tato moznost je v zasade urcena pro ty, kteri se jiz s UNIXem dobre kamaradi, neco velkeho uz napsali a ted je nebavi chodit na cviceni a otravovat se s nejakou pisemkou - v posuzovani zapoctaku tedy budu relativne prisny. Na zapoctaku se se mnou pokud mozno domluvte predem a to do nejake trochu rozumne doby (pokud mozno ne 25. zari vecer). Na cvicenich budete samozrejme stale vitani. (Nemate-li zadny napad, co psat, zkuste bych se podivat na stranky cviceni z minulych let a vybrat si nektery z nejtezsich domacich ukolu: napada mne shop, nejaka lehce rozsirena verze jednoho z stur, rall, cprp, seex, shvm, find... Ovsem fantazii se meze nekladou!

Cesta ditete: Domaci ukoly budu zadavat na vetsine cviceni (krome prvniho); na kazdem cviceni zadavam jeden, termin jest priblizne do pristiho cviceni (od ulohy sync dale az do posledniho cviceni) a meli byste udelat celkem ukoly alespon libovolne ctyri (jinak na Vas na konci semestru jeste neco vymyslim) - tedy ziskat ctyri body (kazdy ukol bude standardne za jeden bod, velice nehezke reseni muze ziskat mene, velice hezke reseni zase vice; kazdopadne reseni musi byt korektni, jinak Vam jej vratim k dopracovani). Ukoly poslete co nejdrive, abyste do zacatku dalsiho cviceni stihli jeste proiterovat pripadna opravena reseni, budu-li mit vyhrady (coz se stava dost casto).

Zapoctova pisemka se bude psat v labu na pocitaci na poslednim cviceni (pokud budete planovat predtermin, dejte mi vcas vedet, nejlepe pred poslednim predchazejicim cvicenim). Pisemka bude obnaset napsani nejakeho vyrazne netrivialniho programu (v tom spravnem jazyce, pochopitelne); uznam vam ji, pokud program bude fungovat nejak rozumne a nebudou v nem velke kiksy. Pokud se Vam nepovede, nezoufejte - budete mit dost (kolem nekonecna) dalsich sanci k naprave, ovsem se vzrustajici obtiznosti.

Domaci ukoly

Obecna poznamka: Zadani nejsou dokonale formulovana, podobne jako takova obvykle nepotkate ani v realnem zivote programatora; casto by to bylo pri zachovani srozumitelnosti a rozumneho zadani i dost obtizne, nektere predpoklady zustavaji nevyrcene a spoleham na Vas zdravy rozum. Pokud si dokazete vyrazne zjednodusit zivot tim, ze si zadani kreativne "priohnete" k obrazu svemu (ale tak, aby to davalo smysl, neslo to proti duchu zadani a dokazali jste si to obhajit), proti podobnym resenim nic nemam, ba naopak.

[an error occurred while processing this directive]

Pokud sami v mailu nenapisete opak, defaultni licence ukolu je GNU GPL a souhlasite s pripadnym vystavenim Vaseho dilka na webu.

Novinky ze cviceni

  1. Jemny uvod do systemu: zakladni hierarchie souboroveho systemu; dokumentace; ls, cd, pwd, mv, cp, rm; cat, less. Zaklady ssh. Pajpy (rev, tac - GNU rozsireni!). mail.
  2. Opakovani pajp, presmerovani, kopirovani souboru pomoci cat, kopirovani souboru mezi ruznymi stroji pomoci ssh a cat, tee, head, tail, wc, strucny uvod do $(()) a $().
  3. Head, tail, wc -l, aritmetika a command substitution. Date, SMS ulozka.
  4. cut, sort, diff, comm, tr, [uniq -c].
  5. Ozveny tr; cut+paste; grep a regularni vyrazy.
  6. Regularni vyrazy (IP adresa), zaklady sedu.
  7. Pokrocilejsi sed, ps a kill.
  8. Zakladni prace s parametry, navratove kody, && a ||, vypisy chybovych hlasek.
  9. Jednoducha cviceni na find, while read, for, testy a podminky.
  10. Parsovani parametru, cykly, eval.
  11. Mix ulozek, duraz na vlastnosti read cyklu a pajp (zaskok).
  12. Pisemka nanecisto (tradicni konvertor titulku).
  13. Zapoctova pisemka na rozlocenou (samorozbalovaci archiv).
[an error occurred while processing this directive]

Dalsi zdroje

Pomoc!

Potrebujete-li s necim poradit, udelate nejlepe, kdyz mi napisete mail. Preferuji, kdyz po me budete chtit poradit s nejakym konkretnim problemem; nebudete-li proti, muzeme to pak vyresit rovnou po mailu.

Pokud budete mit nejake obecnejsi nejasnosti, nezoufejte a napiste mi stejne, domluvime se a nekdy se potkame (na MS byvam temer kazdy den). Cas mivam obvykle po cviceni, jinak se na MS vyskytuji nikoliv uplne pravidelne, lec kazdopadne velmi casto, v kancelari c. 322 (3. patro, naproti S3) nebo v malostranskem Starbucks. ;-)


Edituje Petr Baudis. No counters, no frames, no syntax errors. Design by MJ.