20.05.2016 zkouška

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.
Viki.n
Matfyz(ák|ačka) level I
Příspěvky: 3
Registrován: 20. 5. 2016 15:13
Typ studia: Informatika Bc.

20.05.2016 zkouška

Příspěvek od Viki.n »

Napište program, který dostane jako parametry libovolný počet souborů (relativní nebo absolutní cesty; adresář je taky soubor), a pro každý z nich najde všechny hardlinky i symlinky (i nepřímé) v celém filesystému, co na něj vedou. Pro ty pak udělá výpis srovnatelný s výstupem ls -l

Ztěžující podmínky:
1) řešení musí doběhnout do konce našeho studia
2) nějaké příkazy jsou zakázané, konkrétně ls -L (opravdu velké L), [ file1 -ef file2 ], u findu se nesmí používat přepínače, co by samy uměly následovat symlinky a příkaz df se smí použít jen bez přepínačů a bez parametrů
3) Ve filesystému se můžou vyskytnout věci jako cykly ze symlinků
4) některé adresáře můžou být taky jen symlinky(tohle nevadilo, když jsme neřešili)

Zjednodušující podmínky:
1) Ve filesystému nejsou soubory, které by ve svém názvu obsahovaly newline nebo nějaký opravdu ošklivý netisknutelný znak (např. backspace), a taky tam není symlink, který by v názvu obsahoval string '->' (hodí se u dereferencování symlinku pomocí výstupu ls -l)

Na začátku říkal, že ač má tento příklad špatnou statistiku, tak je z těch lehčích. Na konci řekl, že nám lhal, a že docela těžký je.

Dost na nás řval, že jsme skoro všichni použili konstrukci find /. |while ... do; ... done; neboť ta pustí vždycky několik třeba i desítek procesů pro každý file ve filesystému kterých je typicky řádově statisíce. Správné řešení bylo vědět, že find sám umí hledat jen podle čísla inodu a má na to přepínač, ale měl dobrou náladu a tak to vzal, ikdyž říkal že do večera by to nedoběhlo. Bylo nás 7, 2 dostali rovnou za 1 a 1 rovnou za 4, zbylé 4 vzal na ústní kde byla 1 jednička a 3 nevím (můžete někdo doplnit?).

K dispozici byl jeden ntb s unixem na manuálové stránky, první hodinu a půl z celkem dvou hodin byl prakticky nonstop obsazený. Forst i při psaní poměrně ochotně odpovídal na dotazy.
hlupaco

Re: 20.05.2016 zkouška

Příspěvek od hlupaco »

Já byl předposlední a dostal sem za 2, dva týpci přede mnou za 1 a jeden za 3, po mě šel ještě poslední.
Odpovědět

Zpět na „SWI095 Úvod do UNIXu“