zkouska 3. 6.

Seznámení se základními principy operačního systému UNIX, převážně z uživatelského hlediska. Absolvent kurzu by měl být schopen napsat netriviální program v shellu.
Kubajzz

zkouska 3. 6.

Příspěvek od Kubajzz »

Zadani:

Soubor "files" obsahuje seznam logu z ruznych pocitacu. Ukolem je, strucne, stahnout vsechny logy na jeden pocitac a sesypat do sebe. Napriklad pokud na kazdem zdrojovem pocitaci je log s nazvem "Log1" a log s nazvem "Log2", tak vysledkem skriptu bude jeden velky log "Log1" a druhy velky log "Log2", ve kterych budou sesypane udaje ze vsech pocitacu, samozrejme spravne serazene atd.

Radek v souboru "files" vypada zhruba nasledovne:
hostname<tab>filename<tab>type
priklad: server.ms.mff.cuni.cz<tab>/var/log/nejakylog<tab>nejakytyp

S tim typem je to jeste trosicku komplikovane... Ty logy totiz mohou byt v ruznych formatech. Je zadany jeste soubor "types", ktery definuje ruzne formaty logu.

Pokud ma radek v souboru "files" na konci jako typ treba "typ1", tak musite v souboru "types" najit radek, kde je definovan "typ1" a podle toho teprve dokazete urcit, jak z radku toho logu vytahnete datum a cas a dalsi udaje...

A aby to nebylo moc jednoduche, tak na tech zdrojovych pocitacich se ty logy jednou za cas zalohuji takze kdyz ty logy stahujete na cilovy pocitac, musite zkontrolovat i ty zalohy a stahnout vsechny, ktere jste dosud nestahli...

Takze to by zhruba strucna bylo to zadani, cele to vysvetloval Forst asi pul hodky, me se nechce to psat do podrobna treba to udela nekdo za me...

Vysledky: z 13 lidi 1x 1, 1x 2, 1x 3, 3x pohovor a zbytek domu, takze uspesnost dost mala... Ta uloha se podle me neda stihnout napsat za 2 hodiny, ale pokud reseni neni kompletni tak to Forstovi nevadi.

Mam 2 rady jak prolezt u zkousky:

- Forst musi mit pocit ze vite co pisete a rozumite tomu kodu - musite se vyhnout velkym syntaktickym chybam, neplest shell a sed a awk a tak dal... Pokud se da neco napsat na 2 radky a vy to napisete na 50 radek, tak nejspis dopadnete spatne, ale pokud to zvladnete napsat na 10 radek tak vas sice zjebe ale mate sanci prolezt...

- Snazte se to nejak algoritmicky vymyslet aby to bylo efektivni... Nemusi to jit do extremu, ale pokud ten vas skript bude cist jeden soubor 4x zatimco by ho stacilo precist 1x, tak na to je Forst docela citlivej...

Ta zkouska se da udelat docela v pohode, neni se ceho desit. Ja Linux uprimne nesnasim a umim jenom to, co jsem se musel naucit abych dostal zapocet, a prolezl jsem na prvni pokus (i kdyz jsem se bal).

Staci umet pouzivat: cut, ls, grep, wc, while read ..., expr, test, zaklady awk (asi tolik kolik se clovek nauci za hodinu...), head, tail, par prikazu pro praci se souborama... a samozrejme syntaxi shellu a awk (podminky, cykly, promenne atd.). Vic toho ani neumim a nebylo to potreba.
HLuPaCeK

Re: zkouska 3. 6.

Příspěvek od HLuPaCeK »

Kubajzz píše:... Ja Linux uprimne nesnasim a ...
Jak se tohle stane, to nechápu.
vzum
Matfyz(ák|ačka) level I
Příspěvky: 4
Registrován: 16. 1. 2008 12:26
Typ studia: Informatika Bc.

Re: zkouska 3. 6.

Příspěvek od vzum »

staci bejt clovek, pak je rozdil mezi klik, klik, udelej co potrebuju a '/^[^-]*\//&//' | zjevnej..
Osiris
Supermatfyz(ák|ačka)
Příspěvky: 403
Registrován: 11. 11. 2006 14:10
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Re: zkouska 3. 6.

Příspěvek od Osiris »

vzum píše:staci bejt clovek, pak je rozdil mezi klik, klik, udelej co potrebuju a '/^[^-]*\//&//' | zjevnej..
Na druhou stranu, na Linuxu se ti automaticky nenainstalujou viry :P
Osiris
cb

Re: zkouska 3. 6.

Příspěvek od cb »

Osiris píše:
vzum píše:staci bejt clovek, pak je rozdil mezi klik, klik, udelej co potrebuju a '/^[^-]*\//&//' | zjevnej..
Na druhou stranu, na Linuxu se ti automaticky nenainstalujou viry :P
zavadejici a nepravdivy argument. ani na windows se ti nenainstalujou "automaticky".
samozrejme je ale potreba dodrzovat zasadu zaplatovani a dobreho firewallu, ale to se
tyka i linuxu... (mel sem na linuxovem serveru uz virus, ktery se opravdu replikoval
do binarek)
smrt

Re: zkouska 3. 6.

Příspěvek od smrt »

Osiris píše:
vzum píše:staci bejt clovek, pak je rozdil mezi klik, klik, udelej co potrebuju a '/^[^-]*\//&//' | zjevnej..
Na druhou stranu, na Linuxu se ti automaticky nenainstalujou viry :P


Tak si rikam co je to za velice chytre lidi kdyz dokazou z ust vypustit tohle nebo to snad napsat na matfyzacke forum :)
Odpovědět

Zpět na „SWI095 Úvod do UNIXu“