{"id":102,"date":"2004-05-25T09:24:55","date_gmt":"2004-05-25T09:24:55","guid":{"rendered":"https:\/\/143-42-55-146.ip.linodeusercontent.com\/?p=102"},"modified":"2004-05-25T09:24:55","modified_gmt":"2004-05-25T09:24:55","slug":"zapoctovy-test-z-unixu","status":"publish","type":"post","link":"https:\/\/nax.cz\/?p=102","title":{"rendered":"Z\u0102\u0081PO\u00c4\u008cTOV\u0102\u009d TEST Z UNIXU"},"content":{"rendered":"<p>U\u0139\u017e je docela dost pozd\u00c4\u009b a dnes byl na\u0139\u0104t\u00c4\u009bst\u0102\u00ad u\u0139\u017e p\u0139\u0099edposledn\u0102\u00ad dlouhat\u0102\u0104nsk\u0102\u02dd pond\u00c4\u009blek od (p\u0139\u0099edn\u0102\u0104\u0139\u0104ky a jedno cvi\u00c4\u008den\u0102\u00ad &#8211; pr\u0102\u0104v\u00c4\u009b z unixu) od 7:30 do 19:30. Pravda, dnes jsme skon\u00c4\u008dili asi o t\u0139\u0099i \u00c4\u008dtvrt\u00c4\u009b hodinku d\u0139\u0099\u0102\u00adv, proto\u0139\u017ee m\u0102\u00adsto posledn\u0102\u00ad p\u0139\u0099edn\u0102\u0104\u0139\u0104ky se ve velk\u0102\u0160 posluch\u0102\u0104rn\u00c4\u009b K1 psal z\u0102\u0104po\u00c4\u008dtov\u0102\u02dd test a ten byl jen na 40 minut (p\u0139\u017bvodn\u00c4\u009b \u0139\u0099\u0102\u00adkal \u0139\u017ee na 30 minut, ale trochu nastavoval).<\/p>\n<p>Ten test byl &#8211; jak bych to jen \u0139\u0099ekl &#8211; ne zrovna \u0139\u017e\u0102\u0104dn\u0102\u0104 trivka. V linuxu u\u0139\u017e d\u00c4\u009bl\u0102\u0104m n\u00c4\u009bjak\u0102\u02dd ten p\u0102\u0104tek, ale s n\u00c4\u009bkter\u0102\u02ddmi v\u00c4\u009bcmi jsem m\u00c4\u009bl docela probl\u0102\u0160my. Cel\u0102\u02dd test byl na oboustrann\u00c4\u009b potiskl\u0102\u0160 A4, p\u0139\u0099i\u00c4\u008dem\u0139\u017e odpov\u00c4\u009b\u00c4\u008f byla v\u00c4\u009bt\u0139\u0104inou jen p\u0102\u0104r slov, maximum snad byl skript\u0102\u00adk v awku na 3 \u0139\u0099\u0102\u0104dky. Ot\u0102\u0104zky byly hlavn\u00c4\u009b z p\u0139\u0099edn\u0102\u0104\u0139\u0104ek a v\u00c4\u009bt\u0139\u0104inou ne zrovna v\u00c4\u009bci na prvn\u0102\u00ad pohled z\u0139\u0099ejm\u0102\u0160.<\/p>\n<p>No pravda &#8211; mohli jsme pou\u0139\u017e\u0102\u00advat jakoukoli literaturu a sakra bylo zn\u0102\u0104t, \u0139\u017ee jsem si vytiskl p\u0139\u0099edn\u0102\u0104\u0139\u0104ky a dop\u0139\u0099edu jsem si dal program p\u0139\u0099edn\u0102\u0104\u0139\u0104ek (harmonogram z webu). Pak u ot\u0102\u0104zky jako t\u0139\u0099eba co znamenaj\u0102\u00ad prom\u00c4\u009bnn\u0102\u0160 prost\u0139\u0099ed\u0102\u00ad a) ? b) * c) 1 d) $ nalistovat osmou p\u0139\u0099edn\u0102\u0104\u0139\u0104ku a napsat a) n\u0102\u0104vratov\u0102\u02dd k\u0102\u0142d b) parametry c) prvn\u0102\u00ad parametr d) \u00c4\u008d\u0102\u00adslo procesu pid.<\/p>\n<p>Podobn\u00c4\u009b sem \u0139\u0099e\u0139\u0104il t\u0139\u0099eba ot\u0102\u0104zku: napi\u0139\u0104te 4 p\u0139\u0099\u0102\u00adkazy, kter\u0102\u0160 mus\u0102\u00adte prov\u0102\u0160st pro p\u0139\u0099id\u0102\u0104n\u0102\u00ad u\u0139\u017eivatele bez pou\u0139\u017eit\u0102\u00ad p\u0139\u0099\u0102\u00adkazu adduser (p\u0139\u0099edn\u0102\u0104\u0139\u0104ka 9, slajd 2) nebo \u0102\u015fprava p\u0139\u0099\u0102\u00adkazu <strong>p1 | p2<\/strong> tak aby p2 dost\u0102\u0104val chybov\u0102\u02dd v\u0102\u02ddstup p1 a standardn\u0102\u00ad v\u0102\u02ddstup p1 se zahazoval. V\u0102\u00adce m\u0102\u0160n\u00c4\u009b jsem to p\u0139\u0099esm\u00c4\u009brov\u0102\u0104n\u0102\u00ad tu\u0139\u0104il, ale v\u0139\u017bbec jsem si nebyl jist\u0102\u02dd jak maj\u0102\u00ad b\u0102\u02ddt na \u0139\u0099\u0102\u0104dce za sebou ty p\u0139\u0099esm\u00c4\u009brov\u0102\u0104n\u0102\u00ad. P\u0139\u0099edn\u0102\u0104\u0139\u0104ka 2 slajd 15 to na\u0139\u0104t\u00c4\u009bst\u0102\u00ad vy\u0139\u0099e\u0139\u0104il:<br \/>\n<strong>p1 2>&#038;1 1>\/dev\/null | p2<\/strong><\/p>\n<p>P\u0139\u0099esm\u00c4\u009brov\u0102\u0104v\u0102\u0104n\u0102\u00ad se toti\u0139\u017e vyhodnocuje zleva do pr\u0102\u0104va. Kdybych to ud\u00c4\u009blal obr\u0102\u0104cen\u00c4\u009b, tak bych nejd\u0139\u0099\u0102\u00adv sm\u0102\u00adchal chybov\u0102\u02dd v\u0102\u02ddstup s standardn\u0102\u00adm a pak bych je oba zahodil.<\/p>\n<p>Pak tam byly n\u00c4\u009bjak\u0102\u0160 v\u00c4\u009bci co jsem dal z voleje, jako t\u0139\u0099eba \u00c4\u008d\u0102\u00adm shell nahrad\u0102\u00ad $HOME, *, $(date) a je\u0139\u0104t\u00c4\u009b cosi. Pak tam taky bylo napsat skript, kter\u0102\u02dd vr\u0102\u0104t\u0102\u00ad nejvy\u0139\u0104\u0139\u0104\u0102\u00ad GID pou\u0139\u017eit\u0102\u0160 v passwd. J\u0102\u0104 to \u0139\u0099e\u0139\u0104il pomoc\u0102\u00ad awku (hlavn\u00c4\u009b \u0139\u017ee jsem si \u0139\u0099\u0102\u00adkal, \u0139\u017ee pokud to jen bude mo\u0139\u017en\u0102\u0160 budu se sna\u0139\u017eit awku vyhnout, proto\u0139\u017ee jsem v n\u00c4\u009bm nikdy nic po\u0139\u0099\u0102\u0104dn\u0102\u0160ho nenapsal). Ud\u00c4\u009blal jsem to takhle:<br \/>\n$ <strong>awk -F: &#8218;BEGIN{GID=0}<\/strong><br \/>\n&gt; <strong>{ if (GID &lt; $4) GID = $4}<\/strong><br \/>\n&gt; <strong>END{print GID+1}&#8216; \/etc\/passwd<\/strong><br \/>\nPro ty, kdo by snad awk neznaly: parametr -F ud\u0102\u0104v\u0102\u0104 separ\u0102\u0104tor sloupc\u0139\u017b. Vzhledem k t\u00c4\u009bmto separ\u0102\u0104tor\u0139\u017bm pak budou napln\u00c4\u009bny prom\u00c4\u009bnn\u0102\u0160 $1 $2 $3 a mnou pou\u0139\u017eit\u0102\u0104 $4 atd. Pokud si prohl\u0102\u0160dnete passwd tak hned pochop\u0102\u00adte pro\u00c4\u008d. Sekce BEGIN se provede p\u0139\u0099ed zpracov\u0102\u0104n\u0102\u00adm vstupu, dal\u0139\u0104\u0102\u00ad sekce nen\u0102\u00ad n\u00c4\u009bjak omezena p\u0139\u0099edch\u0102\u0104zej\u0102\u00adc\u0102\u00admi regul\u0102\u0104rn\u0102\u00admi v\u0102\u02ddrazy nebo \u00c4\u008d\u0102\u00adsly \u0139\u0099\u0102\u0104dk\u0139\u017b a tak je jimi zpracuj\u0102\u00ad v\u0139\u0104echny \u0139\u0099\u0102\u0104dky co p\u0139\u0099ijdou na vstup a sekce END se vykon\u0102\u0104 a\u0139\u017e po zpracov\u0102\u0104n\u0102\u00ad v\u0139\u0104ech \u0139\u0099\u0102\u0104dk\u0139\u017b. Jak jednoduch\u0102\u0160, \u0139\u017ee?<\/p>\n<p>Na dal\u0139\u0104\u0102\u00ad p\u0139\u0099\u0102\u00adklady si u\u0139\u017e nepamatuji a u\u0139\u017e se mi kl\u0102\u00ad\u0139\u017e\u0102\u00ad kukadla, tak\u0139\u017ee toho pro dne\u0139\u0104ek nech\u0102\u0104m. Tohle te\u00c4\u008f p\u0102\u00ad\u0139\u0104u na sv\u0102\u0160m termin\u0102\u0104lu a nem\u0102\u0104m to tedy jak vlepit do blogu, tak\u0139\u017ee to tam d\u0102\u0104m z\u0102\u00adtra.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>U\u0139\u017e je docela dost pozd\u00c4\u009b a dnes byl na\u0139\u0104t\u00c4\u009bst\u0102\u00ad u\u0139\u017e p\u0139\u0099edposledn\u0102\u00ad dlouhat\u0102\u0104nsk\u0102\u02dd pond\u00c4\u009blek od (p\u0139\u0099edn\u0102\u0104\u0139\u0104ky a jedno cvi\u00c4\u008den\u0102\u00ad &#8211; pr\u0102\u0104v\u00c4\u009b z unixu) od 7:30 do 19:30. Pravda, dnes jsme skon\u00c4\u008dili asi o t\u0139\u0099i \u00c4\u008dtvrt\u00c4\u009b hodinku d\u0139\u0099\u0102\u00adv, proto\u0139\u017ee m\u0102\u00adsto posledn\u0102\u00ad p\u0139\u0099edn\u0102\u0104\u0139\u0104ky se ve velk\u0102\u0160 posluch\u0102\u0104rn\u00c4\u009b K1 psal z\u0102\u0104po\u00c4\u008dtov\u0102\u02dd test a ten byl jen na 40 minut [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,19],"tags":[],"class_list":["post-102","post","type-post","status-publish","format-standard","hentry","category-skola","category-unix"],"_links":{"self":[{"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/posts\/102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nax.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=102"}],"version-history":[{"count":0,"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/posts\/102\/revisions"}],"wp:attachment":[{"href":"https:\/\/nax.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nax.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nax.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}