Institute of Computer Science
  1. Courses
  2. 2021/22 fall
  3. Operating Systems (LTAT.06.001)
ET
Log in

Operating Systems 2021/22 fall

  • Pealeht
  • Loengud
  • Praktikumid
  • Kodutööd

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

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 3 snapshot ei tasuks virtuaalmasinast hoida. Eelnevaid tõmmiseid saate lihtsalt kustutada (parem hiireklahviga).

Unixi käsurida

Lisa graafilises kasutajaliideses teine klaviatuuriasetus Region & Language -> Input Sources -> Other -> Estonian ja nüüd võid Eesti keele lohistada nimekirjas esimeseks. Ajalooliselt saab käsurealt klaviatuuripaigutusi muuta 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 või sudo loadkeys et (ei salvestu seega peate igakord uuesti tegema kui terminali avate). Ubuntus on olemas veel ka localectl. NB! Enamik käsurea käske kahjuks ei muuda enam klaviatuuriasetust nii nagu varasemalt ja hetkel Ubuntu kasutusjuhend soovitab vahetada keelt graafilises kasutajaliideses.

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 (nt. -l, -a, -h, -R jne)
  • argument - käsu sisend ja väljund ehk millega tegevusi teha enamasti vasakul pool (esimene) on sisend ja paremal pool (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 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. punktiga (.) algava nimega failid on peidetud.
  10. Kui faili nimi või käsu parameeter sisaldab tühikuid, tuleb need kas escape'ida (pannes tühiku ette \ tähemärgi) või ümbritseda kogu nimi või parameeter jutumärkidega.
  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äske või muid nüansse, mis harvemal Linuxi kasutajal ununeda võivad. 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 file3 ja file4 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 (nt. .peidetudFail.txt) kaustas 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, mis sisaldavad lühendit "LTAT.06" ja väljasta need koos reanumbritega (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'i 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. Millise käsuga leiad kus asub käsu cp käivitusfail (binary)? Vastusena esita käsk ja käsu vastus.
  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 - Linux käsud
Solutions for this task can no longer be submitted.

(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.
  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment