5.6. - Uvod do Unixu

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.
newAnonymous

5.6. - Uvod do Unixu

Příspěvek od newAnonymous »

Show hint

- v parametru ($1) je jméno usera
- vstup obsahuje prefix

Výstupem programu má být vypsaný seznam souborů ze všech adresářů v $PATH, takových které odpovídají prefixu. V rámci jednoho prefixu by měly být seřazeny podle abecedy (ale pouze názvu souboru, nikoli části cesty z $PATH), v případě duplicit vypsat pouze ten první. Zkoušející po zkoušce zmínil, že zapomněl do zadání dodat, že sort netřídí stabilně, ale že to měl v plánu. Dále měl být seznam take omezen jen na ty soubory, pro které má uživatel právo exec (kontrolovat v pořadí nejdřív user, pak grupy (včetně sekundárních), ...). Pokud se jedná o skript, musí uživatel mít i právo pro čtení.
slunicko
Matfyz(ák|ačka) level I
Příspěvky: 2
Registrován: 4. 6. 2017 08:27
Typ studia: Nestuduji MFF UK

Re: 5.6. - Uvod do Unixu

Příspěvek od slunicko »

Dodala bych, že prefixů mohlo být na vstupu hodně (jeden na řádek) a soubory se měly vypisovat s plnou cestou. Forstovi vadilo, když někdo opakovaně kontroloval příslušnost do skupin (ta se má zjistit jednou na začátku), opakovaně volal nějaké příkazy (např. ls -l, file), když by mu je stačilo zavolat jednou, nebo když se třeba volalo ls ve findu. Pak navrhoval elegantní řešení - napřed si ze všech adresářů v $PATH vybrat ty s příslušnými právy (pro daného uživatele x, příp. rx pro skripty) a pak už je jen vybírat podle prefixů. Měla jsem podle mě v písemce větší část chyb, co zmiňoval, a stejně mi dal za jedna...
Odpovědět

Zpět na „SWI095 Úvod do UNIXu“