Unix ja shell-ohjelmointi 2001, esimerkkitehtäviä Unix ja shell-ohjelmointi 2001, esimerkkitehtäviä

  1. Kirjoita skripti joka kertoo keitä muita käyttäjiä on samassa ryhmässä kuin argumenttina annettu käyttäjä (joiden oletusryhmä on sama, ts. neljäs kenttä /etc/passwd:ssä).

  2. Kirjoita skripti joka etsii annettujen hakemistojen alta rekursiivisesti tiedostonimiä jotka eivät ole siirrettäviä.

  3. Kirjoita skripti joka etsii rekursiivisesti annetun hakemiston alta kaikki normaalit tiedostot, joiden tarkennin on .dvi tai .log ja joita ei ole käytetty kahteen päivään, ja siirtää ne hakemistoon $HOME/garbage.

  4. Kirjoita skripti joka generoi annetun määrän satunnaisia mutta muodollisesti laillisia henkilötunnuksia vuosilta 1880-2000. Käytä shellin (ksh, bash) satunnaislukugeneraattoria: muuttujaa $RANDOM luettaessa se palauttaa aina uuden satunnaisen kokonaisluvun väliltä 0-32767.

  5. Kirjoita skripti joka tulostaa niiden suoraan oletushakemiston alla olevien alihakemistojen nimet, joita on muutettu tänään kello 12:00 jälkeen.

  6. Kirjoita skripti joka tulostaa tekstitiedoston kahtena 35 merkkiä leveänä palstana, jakaen pitemmät rivit moneen osaan välilyöntien kohdalta jos niitä on, sanan keskeltä ellei.

  7. Kirjoita skripti joka toteuttaa rekursiivisen ftp-haun (kokonaisen hakemistopuun kopioinnin) normaalia ftp-komentoa käyttäen (ftp:n komennoilla get, dir ja cd) siten, että se ei kirjoita olemassaolevien tiedostojen päälle (jättää ne hakematta).

  8. Ongelmana on ison tiedostopuun hakeminen huonon linjan yli ftp:llä: joka kerta siirrettäessä noin 10% tiedostoista korruptoituu. Miten toteuttaisit siirron niin, että korruptoituneita tiedostoja haetaan yhä uudestaan kunnes kaikki on saatu onnistuneesti siirretyksi? Kummassakin koneessa voi ajaa skriptejä mutta siirto onnistuu vain toiseen suuntaan.

    Voit olettaa käytössä olevan ftp-komennon joka osaa hakea rekursiivisesti koko hakemistopuun jättäen hakematta ne tiedostot jotka on jo haettu, esim. edellisen tehtävän vastaus, wget tai ncftp tms.


File translated from TEX by TTH, version 1.98.
On 12 Mar 2001, 10:21.