Arvutiteaduse instituut
  1. Kursused
  2. 2023/24 kevad
  3. Operatsioonisüsteemid (MTAT.08.006)
EN
Logi sisse

Operatsioonisüsteemid 2023/24 kevad

  • Esileht
  • Kursuse materjalid

  • 8. praktikum
  • Lingid


Skriptid

Lihtsamate ülesannete lahendamiseks saab käsureakäsud panna kokku üheks tööriistaks. Tegemist ei ole programmeerimiskeelega klassikalises mõttes, kuigi ka selles on sarnaseid komponente - tingimuslaused jne.

Linux skriptid (shelliskriptid)

  1. Loo oma kodukausta alamkaust nimega sh.
    • Kodukaust on /home/kasutajanimi. Sinna liikumiseks cd ~
    • Järgnevates ülesannetes loodud skriptid teha sellesse kausta.
    • Alati kontrolli (lisa) skripti käivitusõiguseid.
    • Terminalis on aktiivseks kaustaks antud sh kaust. Sinna liikumiseks cd ~/sh/
    • pwd - selle käsu tulemusena näen viimaseks kaustaks sh.
    • Terminal on käivitatud tavakasutaja õigustes.
  2. Luua Tere Maailm! skript.
    • Ava tekstiredaktor (nt Kate, ei salvesta lisaks vormistuselemente) ja loo tekstifail tekstiga:
    • #!/bin/bash
      echo Tere Maailm! 
      
    • Salvesta fail kui tereskript.sh kausta sh.
    • Terminal on avatud kui tavakasutaja.
    • Proovi käivitada käsurealt skripti tereskript.sh käsuga ./tereskript.sh
      • Kuna antud failil ei ole käivitusõiguseid, siis võiks sellele vastuseks tulla veateade.
    • Vaata faili ligipääsuõiguseid: ls -l
    • Anna skriptile käivitusõigused chmod 755 tereskript.sh
    • Proovi käivitada käsurealt skripti tereskript.sh käsuga ./tereskript.sh
  3. Loo skript suurim.sh, mis leiab kaustapuus suurimad kaustad/failid kahanevas järjekorras. Tulemust näidatakse nii mitu rida, nagu on skriptile parameetriga antud.
    • #!/bin/bash
      du -sk * .??* | sort -n -r | head -n $1 
    • Vaata faili ligipääsuõiguseid: ls -l
    • Anna skriptile käivitusõigused chmod 755 suurim.sh
    • Proovi käivitada käsurealt kodukataloogist (mitte sh kaustast) skript käsuga ./sh/suurim.sh
    • Proovi käsk käivitada sobiva parameetriga.
      • Sobivaks parameetriks on siis siinkohal number, mis näitab, mitu rida infot me näha tahame.
      • ./suurim.sh 6
  4. Muutujatega skript nm.sh. Luua skript, mis saab sisendiks nimi või arvuti ja annab seepeale vastuseks arvuti nime või kasutaja nime, kes arvutisse sisse on loginud.
    • Keskkonnamuutuja kasutajanime jaoks on $USER
    • Keskkonnamuutuja arvutinime jaoks on $HOSTNAME
    • Bash IF lause õpetus
    • üks võimalik lahendus on siin. Vaata siis, kui muidu ei saa hakkama

Windows pakkfail

  1. Loo oma kodukausta alamkaust nimega batch.
    • Järgnevates ülesannetes loodud skriptid teha sellesse kausta.
    • cmd.exe aknas on aktiivseks kaustaks antud batch kaust.
    • cmd.exe on käivitatus tavakasutaja õigustes.
    • Windows teab, et tegemist on skriptiga, kui selle laiendiks on .cmd.
  2. Luua Tere Maailm! skript.
    • Ava tekstiredaktor notepad.exe ja salvesta pakkfail (salvesta nimega ja valid failitüübiks kõik failid) nimega teremaailm.cmd
    • echo Tere Maailm!
      REM See on pakkfaili kommentaar või siis eemaldatud rida. 
      PAUSE 
      REM PAUSE ootab klahvivajutust aknas, enne kui järgmise käsu juurde liigutakse. 
      
    • Salvesta fail kui teremaailm.cmd
    • Proovi käivitada skript topeltklõpsuga.
    • Käivita skript cmd.exe aknas.
  3. Muutujatega skript nm.cmd. Luua skript, mis saab sisendiks nimi või arvuti ja annab seepeale vastuseks arvuti nime või kasutaja nime, kes arvutisse sisse on loginud.
    • Keskkonnamuutuja kasutajanime jaoks on %USERNAME%
    • Keskkonnamuutuja arvutinime jaoks on %COMPUTERNAME%
    • Tekstiredaktoris kirjuta järgmine skript:
    • @ECHO OFF
      echo Muutujaks on: %1
      SETLOCAL ENABLEEXTENSIONS
      IF %1 EQU nimi echo %USERNAME% 
      IF %1 EQU arvuti echo %COMPUTERNAME%
      
    • Testi skripti. NB! Sellist skripti ei saa kasutada topeltklõpsuga käivitamisega.
    • üks võimalik lahendus on siin. Vaata siis, kui muidu ei saa hakkama.
  4. Proovi täiendada viimast skripti nii, et see annaks sobiva veateate parameetri puudumise ja vale parameetri (ei ole nimi ega arvuti) korral.
  5. Loo skript, mis lahendab järgmise ülesande:
    • Mäng hoiab mängijainfot samas kaustas, kus ta isegi viibib.
    • Loo töölauale skript, mille käivitamisel (topeltklõpsuga) kopeeritakse mängukaust (selle kirjutad ette, kus ta asub - kõigile kasutajatele kättesaadavas kohas) kasutaja kodukataloogi alamkausta BRICKS ja mäng käivitatakse BRICKS kataloogist.
    • Bricks Game - lae mäng alla ja paki see lahti C:\Bricks kausta.
    • Kasuta muutujat kausta loomisel: mkdir %USERPROFILE%\BRICKS
    • samuti kausta kopeerimisel: xcopy /E /K C:\Bricks %USERPROFILE%\BRICKS\
    • programmikausta liikumisel: cd %USERPROFILE%\BRICKS\
    • Programmi võin nüüd käivitada otse: bricks.exe
    • üks võimalik lahendus on siin. Vaata siis, kui muidu ei saa hakkama.
  6. Lisamõtlemist: Loo skript, mis loob järgmistele tingimustele vastava kaustapuu:
    • Kaustapuu sügavus on 4
    • Igas kaustas on 4 alamkausta
    • Igas kaustas on 1 tekstifail mille sisu on erinev teistest failidest selles puus.

Arvestustöö ülesanne.

Käsurea tundmine Linuxis. Võrdle oma teadmisi IT tudengite testiga (Operatsioonisüsteemid LTAT.06.001 kursusel osalenute teadmistega):

Oleme teile loonud eestikeelse Linuxi käskude harjutamise keskkonna, millele pääsete TÜ sisevõrgust (Sülearvuti korral eduroam või VPN ) ligi külastades http://lingid.ee/kasurida
PS! Veebilehitsejas on vaja lubada ka pop-up windows funktsionaalsus lehekülje edukaks toimimiseks pärast avalehte.
Loo kasutaja: emaili aadressiks on Sinu pikk eesnimi.perenimi@ut.ee kujul olev meiliaadress. Pead ka autentima.
lahendage kõik 10 harjutusülesannet (muutunud roheliseks).
Esitage ekraanivaade veebilehitsejast (screenshot) lahenduste tõestuseks (Palun ärge lõigake pilti väiksemaks, pildil peab olema näha kogu veebilehitseja). Pilti tahan näha arvestustöö ajal.
  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused