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)
- 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.
- Kodukaust on /home/kasutajanimi. Sinna liikumiseks
- 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
- 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
- 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
- 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.
- 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.
- 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.
- Keskkonnamuutuja kasutajanime jaoks on
- Proovi täiendada viimast skripti nii, et see annaks sobiva veateate parameetri puudumise ja vale parameetri (ei ole nimi ega arvuti) korral.
- 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.
- 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 veebilehitseja IP aadressi 172.17.36.180
PS! Veebilehitsejas on vaja lubada ka pop-up windows funktsionaalsus lehekülje edukaks toimimiseks pärast avalehte.
Sisenege TÜ sisevõrgu aadressil http://172.17.36.180 või varuserverisse http://172.17.37.152/ leitavas veebilehel oma nime ja matriklinumbriga (ÕIS2, Courses.cs.ut.ee näitab) ning 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.