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


Käsurida

Linux operatsioonisüsteemis on käsurida tugevalt toetatud. Enamgi veel, paljudele süsteemijuhtimise vahenditele graafilise keskkonna analoogid käsureaprogrammidest puuduvad.

Terminal

Nii nagu Windows operatsioonisüsteemis on kaks käsureainterpretaatorit (cmd.exe ja command.com), on ka Linux operatsioonisüsteemis mitmeid erinevaid käsureakeskkondi ehk kestasid (shell), nagu bash, sh, tcsh jne. Käsurea avamiseks tuleb avada käsurea­sessioon [Ctrl]+[Alt]+[F1] abil või siis avada graafilises keskkonnas terminaliprogramm (konsole, terminal vms). Kasutatava kestatüübi teada saamiseks tuleb käsureal sisestada:
echo $SHELL.

Kui Windowsi klahvikombinatsiooniga [Windows]+[R] oled juba väga ära harjunud, siis nt Linux KDE töölauakeskkonnas on selleks [Alt]+[F2]

Süsteemiülem

Vt ka: Security and Root

Käsurida on võimalik käivitada kohe süsteemiülemana. Selleks otsid käivitusmenüüst üles Terminal - Super User mode.

Käsureakeskkonnas kasutaja vahetamiseks on käsk greensu. Käsu su (switch user) kasutamiseks tuleb sisestada käsu järele ka kasutajanimi, kelle õigustes käsurida avada soovitakse. Käsurida käivitatakse süsteemiülema õigustes, kui kasutajanime ei sisestata või sisestatakse miinusmärk.

Ühe programmi käivitamiseks sudo käsu abil kirjuta: sudo -c "käsunimi"

Programmide käivitamiseks süsteemiülema õigustes võib olla antud kasutajale sudo-grupi õigused, see tähendab, et kasutaja saab ilma süsteemiülema parooli teadmata käivitada teatud programme.

Olulisemad käsud:

cd /homechange directory, mine kausta /home (NB! täistee)
cd kaustmine kausta 'kaust' (NB! täistee)
cd ~mine kodukausta
lskaustaloend
lnlingi tegemine
ln -sviidalingi tegemine
clearekraani puhastamine
touchloo uus tühi fail
catkuva fail vaikeväljundisse (terminaliaknas)
echosisestatud tekst kuvatakse vaikeväljundis
apropos treeotsitakse käske mille kirjelduses või nimes on 'tree'
findotsib faile (palju parameetreid)
dufailisüsteemi uurimine (palju mahtu kulub sellele kettale)
  1. Lugeda süsteemi dokumentatsiooni olulisemate käsureakäskude kohta.
    1. Näiteks veebis: Terminal.
  2. Käivitada käsurida tavakasutaja õigustes (vaikimisi ongi).
    1. Variant 1.
      Vajutada [Alt]+[F2] ja kirjutada konsole. Käivitamiseks vajuta enter.
    2. Variant 2.
      Otsida menüüdest programm Terminal (konsole) ja käivitada see.
    • Terminalis saad teksti suurust muuta klahvikombinatsioonidega Ctrl + ja Ctrl -
  3. Teha kindlaks, millist kestatüüpi kasutatakse.
    1. Sisestada käsurealt käsk:
      echo $SHELL
  4. Teha kindlaks, missuguses kataloogis astutakse. Liikuda kodukataloogi (kui veel ei ole).
    1. Asukoha kindlaks tegemiseks tuleb sisestada:
      pwd
    2. Liikuda kodukataloogi:
      cd
  5. Teha kodukataloogi alamkaust 'nimega testkaust mkdir testkaust.
  6. Vaata kaustainfot (kas kaust tekkis, milliste õigustega): ls -l
  7. Liigu kausta testkaust.
  8. Teha fail nimega minufail.
    1. Sisestada käsk:
      touch minufail
    2. Vaadata failiinfot:
      ls -la minu*
  9. Teha sellele failile nimeviit (soft link) minupehme samasse kataloogi.
    1. Luua nimeviit käsuga ln:
      ln -s minufail minupehme
    2. Vaadata failiinfot
      ls -la minu*
  10. Teha sellele failile viit (hard link) minukange (ln) samasse kataloogi.
    • ln minufail minukange (ln - lingikäsul on palju parameetreid)
  11. Vaata failide infot:
    ls -lai minu*
    • Esimene nr on faili inode
  12. Lisada faili minukange mõned sõnad:
    echo See on minukange fail, mida suurendati > minukange
  13. Vaadata failiinfot
    ls -la minu*
  14. Milline erinevus on käskudel: ln minufail minukange ja cp minufail minukoopia
    1. Sisestada käsk:
      cp minufail minukoopia
    2. Täiendada faili minukoopia mõne sõnaga:
      echo Minu koopia failist. >> minukoopia
    3. Vaadata failiinfot.
      ls -la minu*
    4. Vaata failide minufail, minukoopia, minukange ja minupehme sisu:
      cat minufail
      cat minukoopia
      cat minukange
      cat minupehme
  15. Kustutada fail minufail. Mis juhtus failiga minupehme? Mis juhtus failiga minukange?
    1. Sisestada käsk:
      rm minufail
    2. Vaadata failiinfot.
      ls -la minu*
    3. Vaadata faili '''minupehme sisu:
      cat minupehme
  16. Kustutada failid minupehme, minukoopia ja minukange.
    1. Sisestada käsk:
      rm minu*
    2. Vaadata failide nimekirja:
      ls -la minu*
  17. Paigalda tekstiredaktor nano sudo zypper install nano
  18. Paigalda tekstiredaktor pico sudo zypper install pico
  19. Loo uus tekstifail minupico.txt: pico minupico.txt
    1. Kirjuta dokumenti, et see fail on loodud pico tekstitoimetiga.
    2. Kopeeri sama teksti veel 3 korda. (Jäta vaba rida vahele).
    3. Salvesta dokument.
    • ^ - märk tähendab Ctrl klahvi.
  20. Loo uus tekstifail minunano.txt: nano minunano.txt
    1. Kirjuta dokumenti, et see fail on loodud nano tekstitoimetiga.
    2. Kopeeri sama teksti veel 3 korda. (Jäta vaba rida vahele).
    3. Salvesta dokument.
    • ^ - märk tähendab Ctrl klahvi.
  21. Loo uus tekstifail minujoe.txt: joe minujoe.txt
    1. Kirjuta dokumenti, et see fail on loodud joe tekstitoimetiga.
    2. Kopeeri sama teksti veel 3 korda. (Jäta vaba rida vahele).
    3. Salvesta dokument.
    • ^K - Ctrl+K viib käsurežiimi - ^KX tähendab Ctrl K ja siis X.
  22. Loo uus tekstifail minuvim.txt: vim minuvim.txt
    1. Kirjuta dokumenti, et see fail on loodud vi (vim) tekstitoimetiga.
    2. Kopeeri sama teksti veel 3 korda. (Jäta vaba rida vahele).
    3. Salvesta dokument. Esc, Esc, :w
    • Esc, :q! lõpetab
  23. Vaata loodud faile: ls -l minu*
  24. Failide sisu saab vaadata ka käskude more, less ja cat abil.
  25. mkdir -p ~/linux6v2/tase2/linux6tase3/linuxtase4/tase5/T6/T7/T8 - loo kaust, milles on mitmeid alamkaustu
  26. Leia käsurea käsk, mis kustutab kataloogi linux6v2 koos oma alamkataloogidega.
    • cd - lähen oma kodukataloogi
    • rm linux6v2 - kas töötab?
    • man rm - loe abi
    • rm -r linux6v2 - kas töötab?
  27. FIND. Ettevalmistav osa. Loo järgmine kaustapuu oma kodukataloogi:
  • linux6
    |-- fail.txt
    |-- fail2.txt
    `-- tase2
        |-- T3v2
        |   |-- T3v2.ini
        |   |-- T3v2.txt
        |   `-- T4
        |       `-- tase4fail.txt
        |-- Tase2Fail.txt
        |-- Tase2fail.txt
        |-- linux6tase3
        |   `-- linuxtase4
        |       |-- tase5
        |       |   |-- T6
        |       |   |   |-- T7
        |       |   |   |   `-- T8
        |       |   |   |       `-- tase8fail.txt
        |       |   |   `-- T7v2
        |       |   |       |-- T8v2
        |       |   |       |   `-- tase8fail2.txt
        |       |   |       `-- temp.txt
        |       |   `-- temp.txt
        |       `-- temp.txt
        `-- tase2fail.txt
    
    
    
  1. Selleks käivita järgmised käsud:
  • mkdir -p ~/linux6/tase2/linux6tase3/linuxtase4/tase5/T6/T7/T8
    mkdir -p  ~/linux6/tase2/linux6tase3/linuxtase4/tase5/T6/T7v2/T8v2
    mkdir -p ~/linux6/tase2/T3v2/T4
    
    echo See on failisisu 1 > ~/linux6/fail.txt
    echo See on failisisu 2 ja veel > ~/linux6/fail2.txt
    echo See on failisisu 3 > ~/linux6/tase2/tase2fail.txt
    echo See on failisisu 4 > ~/linux6/tase2/Tase2fail.txt
    echo See on failisisu 5 > ~/linux6/tase2/Tase2Fail.txt
    echo See on failisisu 7 > ~/linux6/tase2/T3v2/T4/tase4fail.txt
    echo See on failisisu 8 ja veel > ~/linux6/tase2/linux6tase3/linuxtase4/tase5/T6/T7v2/T8v2/tase8fail2.txt
    echo See on failisisu 9 ja veel > ~/linux6/tase2/linux6tase3/linuxtase4/tase5/T6/T7/T8/tase8fail.txt
    touch ~/linux6/tase2/T3v2/T3v2.txt
    touch ~/linux6/tase2/T3v2/T3v2.ini
    touch ~/linux6/tase2/linux6tase3/linuxtase4/temp.txt
    touch ~/linux6/tase2/linux6tase3/linuxtase4/tase5/temp.txt
    touch ~/linux6/tase2/linux6tase3/linuxtase4/tase5/T6/T7v2/temp.txt
    
    
  1. Kontrolli, kas puu sai selline nagu soovitud. Otsi käsk, millega saaks failipuud käsurealt kuvada.
    • apropos 'märksõna' otsib tulemuseks käske, mis sisaldavad antud märksõna (nt kirjelduses). Puu otsimiseks kasuta märksõna "tree".
    • Otsi apropos tree
    • Vaata failipuud:
      • tree ja
      • tree linux6
  2. Liigu kausta linux6/tase2
    • cd ~/linux6/tase2
  3. Otsi faili tase2fail.txt
    • find . -name tase2fail.txt
  4. Otsi faili tase2fail.txt, kus tähesuurust ei arvestata (leiab nii suurtähtede/kui ka väiketähtedega).
    • find . -iname tase2fail.txt
  5. Leia kõik tekstifailid antud kaustas:
    • find . -type f -name "*.txt"
  6. Leia tekstifailid linux6 kaustas ja alamkaustades, mis on suuremad kui 1MB ja kustuta need:
    • cd -liigun kodukausta.
    • find ~/linux6 -type f -name "*.txt" -size +1M -exec echo {} \; - leia failid
    • find ~/linux6 -type f -name "*.txt" -size +1M -exec rm {} \; - kustuta failid
  7. Loo mõned tekstifailid linux6 kausta või alamkausta, mis on suurem kui 1MB.
    • Näiteks: dd if=/dev/zero of=linux6/tase2/T3v2/2MBfail.txt bs=2M count=1 - teen nullidest koosneva tekstifaili suurusega 2MB.
  8. Leia tekstifailid linux6 kaustas ja alamkaustades, mis on suuremad kui 1MB ja kustuta need:
    • find ~/linux6 -type f -name "*.txt" -size +1M -exec echo {} \; - leia failid
    • find ~/linux6 -type f -name "*.txt" -size +1M -exec rm {} \; - kustuta failid
    • find ~/linux6 -type f -name "*.txt" -size +1M -exec echo {} \; - leia failid (pole enam selliseid)
  9. Otsida üles oma kodukataloogi failisüsteemi kõige sügavamal asuv kataloog ning teha sellele (kui leiad mitu, esimesele neist) nimeviit oma kodukataloogi.
    1. Sisestada käsk (suurendades viimast parameetrit - 'kaustapuu sügavus' asemel näiteks 6):
      find ~ -mindepth 'kaustapuu sügavus'
      (kaustapuu sügavus on minimaalne kaustapuu sügavus, millest otsitakse).
      • Näiteks: find ~ -mindepth 6
      • Kui tuleb vastuseks liiga palju kaustu, katkesta Ctrl+C abil otsimine.
    2. Nimeviida loomiseks kasutada käsku ln:
      ln -s [KAUSTATEE] [LINGI NIMI]
      • Näiteks: ln -s /home/$USER/Downloads allalaetudfailid
  10. Sulgeda käsurida.
    1. Käsurea sulgemiseks tuleb sisestada
      exit
  11. Otsi kasutaja kodukataloogist kaust, mis võtab teie kettakvoodist (juhul kui kasutatakse) kõige rohkem ruumi (mahult).
    1. Sisestada käsk:
      du -sk * .??* | sort -n
  • 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