Arvutiteaduse instituut
  1. Kursused
  2. 2020/21 sügis
  3. Operatsioonisüsteemid (LTAT.06.001)
EN
Logi sisse

Operatsioonisüsteemid 2020/21 sügis

  • Pealeht
  • Loengud
  • Praktikumid
  • Kodutööd
  • Hinded
  • Osalejad

Käsurida, failisüsteemi mõiste ja haldamine

Kohapeal olijad palun registreerige enda praktikumis osalemine vastaval veebilehel http://cs.ut.ee/reg

Tänases praktikumis

  1. Õpime tundma Unixi käsurida
  2. Uurime Linuxi süsteemi katalooge

Ettevalmistus

Kõigepealt tehke jälle oma virtuaalmasinast Snapshot. See tagab, et esimese kahe praktikumi tulemused on taastatavad kui midagi peaks virtuaalmasinaga tulevikus juhtuma. Töökindluse huvides on olekutõmmiseid kasulik teha viisakalt seisma pandud masinast. PS! Liiga palju Snapshot-e ei ole ka hea ja võib virtuaalmasinat oluliselt aeglustada ja tekitada täiendavaid probleeme, seega üle 5 snapshot ei tasuks virtuaalmasinast hoida. Eelnevaid tõmmiseid saate lihtsalt kustutada (parem hiireklahviga).

Unixi käsurida

Muuda käsurealt klaviatuuripaigutus omale sobivaks käsuga sudo dpkg-reconfigure keyboard-configuration Võite jätta kõik vaikeväärtused välja arvatud küsimus kus soovitakse teada teie klaviatuuri asetuse keele-eelistust. Ajutiselt on mugav keelt vahetada terminalis ka käsuga setxkbmap ee (ei salvestu seega peate igakord uuesti tegema kui terminali avate).

Linuxi käsud on enamasti ühtse struktuuriga:

  • $ - tavaõigustes käsurida, # - root ehk administraatori õigusi vajav käsk
  • command - käsk (ntx ls, cp, mv, cd). Ajalooliselt olid ekraanid väikesed ja mahutasid vähe tähti seega enamik vanemaid käske on võimalikult lühikesed.
  • options - võtmed või parameetrid, millega saate muuta käsu toimimist, iga käsu man lehel on kirjeldus mida mingi võti teeb (ntx -l, -a, -h, -R jne)
  • argument - käsu sisend ja väljund ehk millega tegevusi teha enamasti vasakulpool (esimene) on sisend ja paremalpool (viimane) on väljund. cp -r /home/demouserhomefolder /mnt/backup/

Käsurea efektiivne kasutamine

Käsurida on võimekas tööriist, kuid tööriista peab õppima oskuslikult käsitlema. Järgnevalt jagavad praktikumi juhendajad teiega enda vihjeid kuidas käsurida mugavamalt ja efektiivsemalt kasutada.

  1. CTRL+ALT+T võimaldab avada kiiresti terminali graafilises keskkonnas
  2. TAB - tabulaatorklahvi vajutades üks (või mitu korda kiiresti) üritab käsurida teostada auto-comlete või kuvada valikuvariante.
  3. history - käsk võimaldab näha käskude ajalugu, !number võimaldab ajaloos olevat käsku kiiresti korduvkäivitada (näiteks !17 käivitab nr 17 käsu ajaloost ja !! käivitab viimase käsu ajaloost)
    • history hoitakse kasutaja kodukaustas failis nimega .bash_history, seega igal kasutajal on personaalne ajalugu. history salvestub kui käsurida sulgeda korrektselt (exit, jne)
  4. eelnevate käskude vahel saab liikuda kiiresti nooleklahvide abil nool üles, nool alla (vasak, parem klahviga saab liikuda käsurela õigesse positsiooni käsu redigeerimiseks.
  5. home, end klahviga saab liikuda rea algusesse, lõppu
  6. CTRL + R võimaldab otsida ajaloos tagurpidi (viimased käsud enne), CTRL+R teistkordsel vajutamisel kuvatakse järgmine otsingule vastav käsk ajaloost.
  7. SHIFT+pg-up,pg-dn võimaldab kerida terminali ekraanikaupa, ka kohtades kus kerimisriba puudub.
  8. clear käsuga saab tühjendada käsurea eelnevate käskude väljundist
  9. . (punkt) faili nime alguses muudab faili peidetuks.
  10. Tühikud (space) faili nimes või parameetris tuleb eraldada "jutumärkidega" või escape characteriga \
  11. levinud klahvid käsureal vaate sulgemiseks on Q, X, CTRL+Q, CTRL+C (CTRL+Z ei ole soovitatav kuna ei sulge programmi vaid paneb selle uinunud olekus tagaplaanile. Teisisõnu ei vabastata ressursse näiteks failid jne).
  12. exit trükkides käsureale selle sulgemiseks salvestab ka käsud history faili. Nurgast x vajutades kasutatud käske ei salvestata.
  13. Soovitatav on koostada endale nn Linux lühikonspekt, kust on hea kiiresti meelde tuletada käskusid või muid nüansse, mis harvemal Linux kasutajal meelest ära võib minna. Näide õppejõu A. Peets koostatud Süsteemihalduse kursuse lühikonspektist.

Käsurea harjutamise ülesanded

Tutvu ka alamlehelehega "Enamkasutatud Unixi käsud" ning seejärel kirjuta oma praktikumiülesande viki lehele kõigi järgnevate tegevuste läbiviimiseks vajalikud käsurea käsud, nende käskude tulemusena välja prinditud väljundid. Mugav on teha näiteks ekraanipildid või kopeerida ja küljendada käsurea vastused (igaüks 0.1p kokku 1.5p):

  1. Liigu käsureal oma kodukataloogi (kataloogi lühem nimetus, mida kasutame juhendis on kaust) (/home/eesnimi).
  2. Loo uus kataloog tabulaatori_klahvi_kasutamine_vähendab_oluliselt_trükkimise_vaeva.
  3. Tekita sinna kataloogi failid file1, file2, file3, file4 (soovitavalt ühe käsuga).
  4. Milline üks ls käsk kuvab ainult failid file2 ja file3 sellest kataloogist?
  5. Tee loodud kataloogi sisse veel üks kataloog Kaust.
  6. Liiguta (move) file4 kataloogi Kaust sisse
  7. Kirjuta file4 faili See on näidis tekst!. Selleks võid kasutada näiteks tekstiredaktori programmi nano (väljumiseks (ning faili salvestamiseks) vajuta CTRL+X).
  8. Otsi oma kodukataloogist faile, mille nimi algab tekstiga "file4".
  9. Otsi oma kodukataloogist faile, mis sisaldavad sõna näidis.
  10. Loo kataloogi tabulaatori_klahvi_kasutamine_vähendab_oluliselt_trükkimise_vaeva uus kaust nimega peidetud asjad (tühik nimes on oluline) ja liigu cd käsuga vastavasse kausta.
  11. Loo kataloogi peidetud asjad sisse peidetud fail käsuga "echo "peidetud faili sisu" > .peidetudFail.txt". Millise ls käsuga näeb ka peidetud faile (ntx .peidetudFail.txt) kasutas peidetud asjad?
  12. Kustuta kaust "peidetud asjad" nii, et automaatselt kustutatakse ka kõik seal sees oleavad failid.
  13. Lae alla käsurealt https://courses.cs.ut.ee veebilehe avaleht (vihje: wget)
  14. Kuva eelmises punktis allalaetud faili index.html sisust ainult esimesed 5 rida käsurea aknas.
  15. Leia allalaetud failist index.html kõik read ja väljasta ka reanumbrid, mis sisaldavad lühendit "LTAT.06" (vihje: grep käsk).

NB! sudo pole oma failidega tegelemisel vajalik! Kui teile öeldakse mõne käsu peale Permission denied, siis ilmselt olete eksinud kataloogiga, kuhu asju loote või liigutate. Näiteks / failitee alguses tähendab juurkataloogi, mis asub väljaspool kasutaja kodukataloogi, ning sinna ei ole selle praktikumi ülesannete puhul vaja midagi panna. Veelkord - oma kodukataloogis tuleb enamasti hakkama saada ilma sudo'ta.

Et praktikumi juhend liiga igav ei tunduks lisame siia mõned pildid ka :)

Autor: Julia Evans https://twitter.com/b0rk

Linuxi manuaalileheküljed

Linuxisse on sisseehitatud manuaal, sellega saab üsna detailset infot enamuse käskude kohta. Nt. man ls annab infot selle kohta, mida teeb ls käsk ja mis on selle võtmed. Manuaalilehekülgede tõhusamaks kasutamiseks võib lugeda lisamaterjalina seda artiklit.

Vali kaks (2) kasulikku linuxi käsku, millega me siiamaani pole veel tutvunud ning kirjelda manuaalilehekülje või google abil kolme (3) selle võtit (lisaparameetrit) — mida käsk ja parameeter teeb, täpne käsu näide ja selle kasutusjuhu kirjeldus. (0.6p)

Vihje: Kui otsite ideid millised on levinud ja vajalikud käsud Linux keskkonnas vaadake Linux Professional Institute sertifitseerimieksami nõudeid ja käskude nimekirja: https://www.lpi.org/our-certifications/exam-101-objectives

Linuxi kataloogipuu

Kui varasemalt ei ole Linuxi operatsioonisüsteeme kasutanud, siis võib alguses olla suhteliselt raske üles leida, kus salvestatakse Linuxis erinevat tüüpi faile, nagu näiteks ajutisi faile, programmide faile, kasutaja dokumente, süsteemi logifaile jne.

Järgnev joonis annab ülevaate Linuxi kataloogipuu struktuurist ja peamiste kaustade eesmärkidest:

Nüüd, kui tunned juba elementaarseid käske, saad uudistada Linuxi kataloogipuu struktuuri. Uuri kataloogide /bin, /var/log/, /dev, /etc, /proc, /usr sisu.

Lisa oma viki leheküljele vastused järgnevatele küsimustele (0.6p):

  1. Kus asub käsu df käivitusfail (binary)?
  2. Millises kaustas hoitakse Ubuntus operatsioonisüsteemi seadistuse faile?
  3. Millises kaustas hoitakse Ubuntus operatsioonisüsteemi logifaile?
  4. Kas Linuxis on Windowsi "Program Files" kataloogiga sarnane kataloog? Selgita oma vastust.
  5. Leia /etc kataloogist ja alamkaustadest kõik failid (kasuta sudo), milles sisaldub sõna Password (case sensitive, tõusutundlik).
  6. Mis sisuline erinevus on käskudel cp ajutine.txt tmp/ ja cp ajutine.txt /tmp ?
    • Testmiseks võiksite eelnevalt luua faili touch ajutine.txt ja kausta mkdir tmp

Tulemus

Vikilehel peavad olema järgmised tulemused.

  1. Unix'i käsud ja nende väljundid ülesandes Käsurea harjutamise ülesanded. Kas vormistatud teksti kujul või ekraanivaadetena. (1.5p)
  2. Vali kaks (2) kasulikku linuxi käsku ning kirjelda manuaalilehekülje abil kolme (3) selle võtit ja näidiskäsku ülesanne sektsioonis Linuxi manuaalilehed. (0.6p)
  3. Vastused küsimustele failipuu kohta ülesandes Linuxi kataloogipuu. (0.6p)
  4. Tühja faili asemel genereerige praktikumi lõpus fail Linuxi käsuga (0.3p)
    1. history >> käsudFaili.txt
    2. ja esitage fail "käsudFaili.txt" alljärgnevasse vormi või vikilehele.

Kui teil viki lehekülg valmis on, siis lisage meile kommentaar (koos äsjamainitud failiga).

3. Praktikum 3 - Unixi käsud
Sellele ülesandele ei saa enam lahendusi esitada.

(Tähtaeg 2 nädalat)

Lisamaterjal

  • Alo Peets cheat sheet about Linux command line Linux.docx
  • How to efficiently use Man Pages under Linux inglise keeles manuaalilehekülgede kasutuse ülevaade.
  • 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.
Tartu Ülikooli arvutiteaduse instituudi kursuste läbiviimist toetavad järgmised programmid:
euroopa sotsiaalfondi logo