@TOC@

Cviceni ze zakladu UNIXu

Ve skolnim roce 2007/2008 vedu cviceni z predmetu Uvod do UNIXu (NSWI095), najdete nas kazde pondeli od 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.

Pokud ke mne chcete chodit na cviceni, musite se zapsat v grupicku _a_ zaroven mi poslat mail. (Nezalezi, jestli formalne patrite do skupiny, kterou cvicim (c. 33), dokud se vejdete. ;-) V tuto chvili vypada Grupicek dosti rozbite, takze mi zatim napiste alespon ten 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 prvnich dvou); na kazdem cviceni zadavam jeden, termin jest priblizne do pristiho 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. Program muze obtiznosti pripominat nektery z lehcich zkouskovych prikladu. ;-) 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. Uvodni povidani, zaklady ovladani shellu, dokumentace (man, help, info), adresarova struktura a cesty, metaznaky * a ?. Procvicene prikazy: cd, ls, echo, cat, pwd, ssh, less (more).
  2. Presmerovani <, >, | pipes (roury). Prikazy head, tail, hrani si s tac a rev (nestandardni nastroje!). Zaludna jmena souboru, pokrocilejsi presmerovani, date. Vim, job control. Ssh a stdin/stdout.
  3. Mail, date, wc, $(()), `` a $(), tail podruhe, zminka o printf.
  4. In-place editovani souboru, wc -m vs wc -c, jak se dela skript, tr, cut, getent passwd, vetsi ulozka.
  5. Prevazne passwd-related ulozky na cut, nejzakladnejsi grep, sort, diff, sort | uniq -c a find. Pozor: V labu find funguje spatne v domovskych adresarich, pouzivejte jej radeji v /tmp!
  6. Plan: Ulozky na jiz probrane veci, sed, grep, atd. Stale zapominam na dodatek k $(()) (expr), nekdo mi to prosim pripomente. ;-)
  7. ...
  8. Pisemka
[an error occurred while processing this directive]

Konkurence

Nebudu sem sam davat linky na ruzne dalsi zdroje, protoze tech najdete az az, kdyz se kouknete na stranky jinych cvicicich. Aneb jak to delaji jinde:

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 temer neomezene dlouhou dobu po cviceni, jinak se na MS vyskytuji nikoliv uplne pravidelne, lec kazdopadne velmi casto, v kancelari c. 322 (3. patro, naproti S3).


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