Teine praktikum – Käsurida, failisüsteemi mõiste ja haldamine
Tänases praktikumis
- Seadistame proovimiseks
Ubuntu 24.04 LTS
VirtualBoxi virtuaalmasina - Õpime tundma Unixi käsurida
- Uurime Linuxi süsteemi katalooge
- Sooritame praktilise kontrollitesti Linuxi käsurea oskuste teemal
Käesolevas praktikumis on palju Linuxi kasutamise õpetusi ja harjutusi praktikumi juhendi esimeses osas (millede esitamist ei nõuta aruandes) ja lõpus kontrollitavad harjutused (tõestuse esitamine vajalik). Õppejõudude soovitus on, et ärge jätke vahele juhendi esimesi osasid, sest vastavaid teadmisi ja oskusi läheb teil vaja aine hilisemates praktikumides ja ainult käsurea kontrolltesti lahendades teete ise-enda elu raskemaks tulevikus.
0. VirtualBox 7.1.0
11. september 2024 tuli välja VirtualBox versioon 7.1.0, mis võrreldes varasemate versioonidega toetab ametlikult ka Ubuntu 24.04 LTS
operatsioonisüsteemi. Kahjuks selle versiooniga on tekkinud mitmeid probleeme ja soovitus on, et kasutage edasi VirtualBox 7.0.20 versiooni ja paigaldage samuti versioon 7.0.20 mitte 7.1.
Rohkem saate lugeda siit https://forums.virtualbox.org/viewtopic.php?p=550586#p550586
1. Ettevalmistus
Linuxi katsetamiseks ja harjutamiseks on meil vaja kõigepealt seadistada Ubuntu 24.04 LTS 64-bit virtuaalmasin ja käivitada Live mode
/ Try mode
/ Prooviversioon
.
- Kõigepealt loome Ubuntu jaoks uue VirtualBoxi virtuaalmasina järgmiste parameetritega:
- Name and Operating System – Virtuaalmasina nimi
OS-Perenimi-U24
, kus Perenimi asendage enda nimega. - Name and Operating System – Type:
Linux
- Name and Operating System – Version:
Ubuntu 24.04 LTS (64-bit)
- Hardware – Base memory:
3 GB
- Hardware – Processors:
2
- Hard Disk – HDD:
24 GB
- VirtualBox 7.0.20 ei oma eeldefineeritud profiili Ubuntu 24 jaoks, seega valige Linuxi versiooniks
Ubuntu 23.04 (Lunar Lobster) (64bit)
VirtualBoxi seadetest.
- Name and Operating System – Virtuaalmasina nimi
Käivitage virtuaalmasin
.- Kui pärast käivitust virtuaalmasin küsib ühendage CD/DVD-seadmesse fail
Ubuntu Desktop 24.04 64-bit ISO
, mille saate praktikumis kohapeal õppejõult (USB pulgalt) või Ubuntu kodulehelt (pöörake tähelepanu versioonile, samalt lehelt saab erinevaid versioone!).Mount and Retry Boot
. - Käivituse ajal valige
Try or Install Ubuntu
. - Welcome to Ubuntu
Choose your language
->English
. - Keyboard layout
Select your keyboard layout
->English (US)
. - Internet connection
Use wired connection
. - Try or install Ubuntu
What do you want to do with Ubuntu
->Try Ubuntu
. - Ubuntu paigaldusega jätkame praktikumis 3. Seekord piisab Ubuntu ajutisest proovikeskkonnast, kus teie tegevused kustuvad igal masina sulgemisel (taaskäivitamisel laetakse uuesti värske keskkond virtuaalselt CD/DVD-lt).
2. Unixi kasutamine ja käsurida
Logisite automaatselt sisse tavakasutajana nimega ubuntu
(kasutajale ei ole seadistatud parooli). Tavakasutajana hakkategi enamikus praktikumides tegutsema. Linuxi Administraatori kontoga root
reeglina graafilisest keskkonnast sisse ei logita, juurkasutaja (root) õigusi kasutatakse mõnes üksikus vajaminevas aknas või logitakse sisse võrgust või tekstikonsoolilt. Proovime tekstikonsoolilt sisse logimist. Linuxis on kasutusel mitu erinevat virtuaalkonsooli ning nende vahel saab liikuda Ctrl-Alt-F*-klahvidega. Graafiline keskkond on Ubuntu prooviversioonis 2. (või 1.) virtuaalkonsoolil, seega siia tagasi saate, vajutades Ctrl-Alt-F2 või Ctrl-Alt-F1 (kogu teie töökeskkond on alles). Lisaks sellele on tekstikonsoolid. Vajutage Ctrl-Alt-F5
ja ja peaksite nägema hüplikku ekraani -> Tagasi saate Ctrl-Alt-F2
abil tagasi oma graafilisse keskkonda. NB! Ubuntu 24.04 LTS
Try Ubuntu versioonis kahjuks need nupud päris korralikult ei tööta. Osades sülearvutites võib F1-F12
klahvide saamiseks olla vaja täiendavalt all hoida ka fn
(FuNction) klahvi (seda võimalik BIOS-st ümber lülitada üldjuhul).
Failipuu uurimiseks käivitage failibrauser oma kodukataloogist (paneelil ikoon "Files"). Uurige failipuud juurkataloogist oma kodukataloogini. Kodukataloogiks on /home/ubuntu
. Kasutajal pole reeglina õigust väljapoole oma kodukataloogi midagi kirjutada, välja arvatud mõnedesse ajutistesse kataloogidesse. Kõik kasutaja isiklikud failid ja programmide seaded on seega kodukataloogi all. +Other Locations
ja Computer
alt leiate kogu failisüsteemi.
Meil läheb töös enamasti vaja tekstiterminale. Graafilises keskkonnas saate avada mitmeid terminale. Ekraani alumises vasakus nurgas on 9 punktiga menüünupp, kuhu kirjutage terminal
ja avage programm (või vajutage Ctrl + Alt + t
). Lisaks saate samas terminalis avada mitu kaarti erinevate seanssidega (sakk / tab). Uue saki avamiseks saate kasutada klahvikombinatsiooni Ctrl + Shift + t
. Looge prooviks mõned uued seansid ja liikuge nende vahel nii klaviatuuri kui hiire abil. Klaviatuurilt saab seda teha kahte moodi, esiteks Ctrl + Page Up
või Page Down
ja teiseks Alt + saki number
. Seega võite edaspidi alati vajadusel uue terminali avada, kui tahate olemasoleva terminaliakna lahti jätta.
Andke terminalis käsk sudo dmesg
. Meile on oluline, et see käsk tagastab lihtsalt palju ridu infot, aga käsk ise ja väljastatav info pole meile hetkel olulised. Esimeseks lihtsaks viisiks tagasi kerida on loomulikult kerimisribalt hiirega. Teiseks võimaluseks on kerida klaviatuuri abil – Shift+PgUp
/Shift+PgDown
(proovige). See Shift-Pg* töötab ka paljudes muudes kohtades, isegi tekstikonsoolil kuni sealt muule konsoolile vahetumiseni.
Alati ei ole meil head või piisava kerimisriba puhvriga terminaliprogrammi käepärast, sestap õpime kerima ka ainult tekstiterminali vahendeid kasutades.
* Praktikumijuhendites on sisestatavad käsud näidatud kastikeste sees või tekstis esile tõstetuna. Iga käsurida sellises kastikeses algab kas $
- või #
-märgiga. Need märgid näitavad kas kasutaja on tavakasutaja õigustes ($
) või root-kasutaja õigustes (#
). Jälgige seda hoolega, sest teisiti kasutades võivad tulemused olla soovitavad. Üldiselt vältige root-kasutaja õigustes ehk (#
) käsureaga sees olemist. Kasutage root-kasutaja õigusi vajavate tegevuste jaoks käsku (sudo
), nt sisestage käsk:
$ sudo dmesg | less
Vihje: Teil on vaikimisi inglise
asetusega klaviatuur, mille asetuse meelde tuletuseks ja erisümbolite sisestamiseks võite vajada veidi abi. Selleks soovitame virtuaalmasinas valida Input
-> Keyboard
-> Soft Keyboard
.
Et vaadata käsu dmesg
väljundit lehekülje kaupa (pange tähele, et terminali scrollbacki sellest ei teki). less
on Unixi programmi more
täiendatud ja mugavdatud variant. Less'i kasutamine:
nooled, PgUp/PgDn – kerimine / – regulaaravaldise otsimine edaspidi (proovige /APIC) n – järgmise otsimine N – eelmise otsimine ? – regulaaravaldise otsimine tagasisuunas G – faili lõppu minek f – sisendi (logifaili) jälgimine, et ehk tuleb veel andmeid. katkestab ^C q – quit
3. Linuxi käsud
Linuxi käsud on enamasti ühtse struktuuriga:
$
– tavaõigustes käsurida,#
–root
- ehk administraatori õigusi vajav käskcommand
– käsk (ntls
,cp
,mv
,cd
). Ajalooliselt olid ekraanid väikesed ja mahutasid vähe tähti, seega on enamik vanemaid käske võimalikult lühikesed. Loomulikult tahetakse kiiresti ja vähem trükkida.options
– võtmed või parameetrid, millega saate muuta käsu toimimist. Iga käsuman
-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 on vasakul pool (esimene) sisend ja paremal pool (viimane) väljund.cp -r /home/demouserhomefolder /mnt/backup/
Uurime kodukataloogi ka käsurealt. Andke käsk
$ pwd $ ls
ja peaksite nägema oma kodukataloogi sisu. Andke käsk
$ touch minutekst.txt
ja tekib fail nimega minutekst.txt
. Vaadake nüüd failide nimekirja uuesti käsuga
$ ls -l
ja näete failide kohta pikemat infot (pikkus, omanik, muutmisaeg). Teie vastloodud fail on 0-pikkusega. Vaadake listingut veelkord käsuga
$ ls -la
ja näete oluliselt rohkem faile või katalooge. Punktiga algavad failid ja kataloogid on vaikimisi peidetud – ls
ja teised graafilised failivaaturid ei näita neid vaikimisi. Nendes punktiga failides salvestavad igasugused programmid oma kasutajapõhiseid seadeid.
Juba sisestatud käske ei pea kasutades uuesti sisse toksima – kasutada saab käskude ajalugu. Üles-alla nooltega
saate liikuda eelmiste sisestatud käskude vahel, neid muuta ja uuesti sisestada (proovige!). Käsu redigeerimisel ei pea sisestamiseks minema kursoriga rea lõppu, Enter
it võib vajutada suvalisel positsioonil olles ja ikkagi sisestatakse terve rida. Sisestatud käskudest peetakse ja salvestatakse teie kodukausta ajalugu, mida näete käsuga history
. Märkus: Käske ajalukku salvestatakse peamiselt kui käsurida on sulgetud viisakalt exit
käsuga. Kui käsurida panna nurgast "x" abil kinni või operatsioonisüsteem sulgeda muud moodi ootamatult käskude ajalugu ei salvestatata. Käskude ajalugu history
on kasutaja põhine ning hoitakse kasutaja kodukaustas failis .bash_history
(vaatamiseks cat ~/.bash_history
.
Sisestatavate failide ja käskude nimesid ei pea alati tervenisti välja kirjutama, vaid kasutada saab üsna paindlikku TAB-lõpetamist. Näiteks võite käsureale
ls /home/ubuntu
kirjutada, vajutades
ls /h<TAB>u<TAB>
.
Kui mõne koha peal on rohkem kui üks võimalikku varianti (nt mitu kausta sama algustähtedega), siis shell piiksub ning teist korda TAB
vajutades näitab variante. Valige täht või mõned esitähed, mis failinime unikaalselt määravad, ja vajutage uuesti TAB
jne. Mõnikord on abiks isegi käsitsi kirjutatud pika failinime lõpus TAB
vajutamine – kui shell sinna lõppu tühiku lisab, siis failinimi eksisteerib ja te olete selle õigesti kirjutanud.
TAB
i abil saab lõpetada lisaks failinimedele ka käskude nimesid. Vajutage
ip<TAB><TAB>
ja näete käskude nimesid, mis algavad ip-ga.
4. Linuxi manuaalileheküljed
Linuxisse on sisse ehitatud manuaal, millega saab üsna detailset infot enamiku käskude kohta. Nt man ls
annab infot selle kohta, mida ls
-käsk teeb ja mis selle võtmed on. Manuaalilehekülgede tõhusamaks kasutamiseks võib lugeda lisamaterjalina seda artiklit.
Uurime lähemalt äsja avastatud käsku ip
– loeme selle käsu manuaali:
$ man ip
(kerimiseks on less
, seega juba tuttav). Käsu man ajaloo ja kasutuse kohta saate lugeda siit: https://en.wikipedia.org/wiki/Man_page
Valige üks linuxi käsk
, millega me siiamaani pole veel tutvunud, ning lugege selle manuaalilehekülge või uurige Google'i abil käsu võtmeid (lisaparameetreid) – mida käsk ja parameeter teeb, täpne käsu näide ja selle kasutusjuhu kirjeldus.
Googles
on mõistlik otsida õpetusi inglise keeles. Näiteks, kui teate käsku aga mitte täpseid parameetreid, saab lisada käsu otsingu juurde usage examples linux
-> ls usage examples linux
. Linuxi käsureaga seotud küsimustele oskab edukalt vastata ka ChatGPT
. Siiski enim-kasutatavad Linuxi käsud on soovitatav ära õppida ja meeles pidada ilma, et peaksite iga kord abi otsima.
Vihje: Kui otsite ideid (nimekirja), millised on Linuxi keskkonnas levinud ja vajalikud käsud, vaadake Linux Professional Institute'i sertifitseerimieksami nõudeid ja käskude nimekirja: https://www.lpi.org/our-certifications/exam-101-objectives Loomulikult on Internetis ka tuhandeid lehekülgi ja nimekirju eri isikute poolt koostatud levinud (olulisematest) Linuxi käskudest.
5. Tekstifailide muutmine
Redigeerime tekstifaile nii terminalis kui graafilise redaktoriga. Terminalis redigeerimist läheb meil vaja root-kasutajana tegutsedes, sest enamasti ei ole sellel graafilist keskkonda (või vähemalt ei ole soovitatav root kasutajana graafilisse keskkonda püsivalt sisse logida). Terminalil on kasutada mitmeid erinevaid editore (nano
, vi
/vim
), kuid meie valime nano
(lihtsuse tõttu). Kes muud editori tunneb, võib loomulikult seda kasutada. Redigeerimine terminalist oma tekstifaili:
$ nano minutekst.txt
Kirjutage sinna sisse mõni tekstirida, et oma jutu ära tunnete, ning väljuge salvestamisega (^X – spikker on ekraani allääres olemas ning esimene sümbol (^) tähistab CTRL
klahvi ehk väljumiseks CTRL
+X
).
Redigeerime sama faili graafilise keskkonna editoriga. Avage failibrauser ja tehke topeltklikk oma faili peal, see avaneb programmiga gedit
. Kui ei avanenud, siis tehke faili peal paremklikk ning valige menüüst "Open With Text Editor". Redigeerige natuke oma faili ja salvestage fail programmiga gedit
. Avage minutekst.txt
terminalis uuesti nano
abil. Kopeerige mingi tekst ja asetage teise rea keskele. Selleks tuleb tekstikursor viia kleepimise kohale, hiirekursori viimisest ei piisa, sest terminalis töötav rakendus ei tea reeglina hiire kursorist ega kleepimisest/paste midagi – tema jaoks on see teksti kleepimine samaväärne sellega, nagu oleks need tähed klaviatuurilt sisestatud. Väljuge nano
st.
Aeg-ajalt on vaja teada saada, mis tüüpi failidega on tegu, sest Linux enamasti ei kasuta faililaiendeid ja aeg-ajalt võib faililaiend olla eksitav. Faili tüüpi on võimalik määrata käsuga file
, näiteks uurige järgneva käsu väljundit.
$ file minutekst.txt
6. Juur- ehk Administraator-kasutaja
Nüüd läheme ja tegutseme juurkasutajana. Proovime erinevaid juurkasutajaks saamise viise. Esiteks:
$ sudo su # pwd
Nüüd muutke root-kasutaja parool ümber parooliks Test2024 käsu passwd
abil. Root-kasutaja alt saate välja tagasi tavakasutajaks käsuga exit
.
Juhul, kui te root
-kasutaja parooli juba teate, saate kasutada:
$ su # pwd # exit
Esiteks nägite, et juurkasutaja prompti (käsuviiba) lõpetab endise $
asemel märk #
. See on tava näitamaks millises kontekstis ollakse hetkel (tavakasutaja või juurkasutaja). Teiseks oli näha, et aktiivseks kataloogiks on endiselt /home/ubuntu
, seega jäi aktiivne kataloog samaks. Niisugusel viisil juurkasutajaks minnes saab mugavalt kasutada jooksvas kataloogis olevaid faile, näiteks anda vastkompileeritud tarkvara kataloogis käsk make install
tarkvara paigaldamiseks süsteemi.
Nüüd minge juurkasutajaks teistmoodi:
$ su - # pwd
Näete, et aktiivseks kataloogiks on /root
ehk juurkasutaja kodukataloog. See asub mujal kui tavakasutajate kodukataloogid, kuna peab alati olemas olema, ka siis, kui /home
(mis võib eraldi kettal asuda) pole kättesaadav. su -
on soovitatav viis juurkasutajaks minekuks juhul, kui pole vaja aktiivset kataloogi säilitada, vaid lihtsalt mingid tegevused administraatorina teha. Jääge juurkasutajana sisselogituks.
Root saab kasutajate faile vabalt lugeda ja muuta. Prooviks läheme muudame sedasama faili. Graafiline editor pole kasutatav (graafiline keskkond ei läinud juurkasutajale kaasa), seega tuleb kasutada terminali oma:
# cd /home/ubuntu # nano minutekst.txt
Me ei pea kindlasti kataloogi vahetama, vaid saame faili ette anda täisteega (sel juhul esimene märk on "/"):
# cd /root # pwd # nano /home/ubuntu/minutekst.txt
(siin saab loomulikult TAB-lõpetamist kasutada trükivigade vältimiseks ning kiiremaks sisestuseks).
Kasutaja faile saame kasutajana ka redigeerida, selleks pole vaja administraatori õiguseid. Küll aga on vaja juurkasutaja õiguseid süsteemi konfiguratsiooni muutmiseks.
Juurkasutaja saab ka käivitada ja paigaldada programme, mida tavakasutaja ei saaks. Näiteks paigaldame apt
-käsuga sl
nimelise programmi (enne peame lisama ka levinud universe
repository ehk programmide hoidla):
# add-apt-repository universe # apt update # apt install sl # sl
Logime nüüd välja, kuna juurkasutajaga ei tehta ühtegi üleliigset asja:
# exit
Uurime eelnevalt paigaldatud programmi sl
täpsemalt selleks:
$ whereis sl $ sl -e
7. Lühiülevaade Unixi failiõigustest
Linux kasutab failiõiguste määramiseks kolme levinunud kategooriat: user - faili omanik (enamasti looja); group - faili grupp (vaikimisi faili omaniku grupp, kuid võib olla erinev); others - kõik ülejäänud kasutajad (grupid), kes ei ole omanik või kuulu gruppi. Failidel (kataloogidel) on järgmised õigused:
Õigus | Bitt | Täheline | Tähendus failile | Tähendus kataloogile |
---|---|---|---|---|
Read | 4 | r | lugeda/kopeerida | saab näha nimekirja kataloogis olevatest failidest (ls) |
Write | 2 | w | muuta faili sisu | kataloogi uute faile/kataloogide loomine, kustutamine, liigutamine ja ümbernimetamine |
Execute | 1 | x | käivitada programmifaili | siseneda või läbida kataloogi (misiganes objekti poole pöördumine sealt kataloogist) (cd) |
Eelnevalt märkame, et Linux käsitleb faile ja katalooge sarnaselt, kuid mõningase erinevusega. Failiõigustega tegeleme põhjalikumalt veel järgmistes praktikumides, kuid huvi korral lugege detailset eestikeelset juhendit siin: Unixi failiõigused. See materjal annab ülevaate, kuidas failiõiguste süsteem Unixi-põhistes operatsioonisüsteemides toimib ning kuidas seda kasutada.
Failiõiguste tundma õppimiseks peate kõigepealt oskama luua uusi kasutajaid ning gruppe. Uue kasutaja loomiseks kasutatav käsk:
$ sudo adduser peeter
Uusi gruppe saab luua käsuga
$ sudo addgroup majasisene
Gruppidesse kasutajaid saab lisada käsuga
$ sudo usermod -a -G majasisene peeter
Kasutajat saab gruppi lisada ka käsuga
$ sudo adduser <kasutaja> <grupp>
Kontrollida, millistesse gruppidesse kasutaja kuulub, saate järgmise käsuga:
$ id peeter
Järgnevalt vaatame kuidas luua käsurealt faili ja sinna kirjutada lühike tekst. ls
käsuga vaatame failile antud vaikimisi õigusi.
$ echo "Käesolev tekst suunatakse faili!" > minutekstifail.txt $ ls -la
Anname nüüd käsuga chmod
loodud failidele erinevaid õigusi:
$ cat minutekstifail.txt $ chmod 000 minutekstifail.txt $ ls -la $ cat minutekstifail.txt $ chmod 760 minutekstifail.txt $ ls -la $ cat minutekstifail.txt $ sudo su peeter $ cat minutekstifail.txt $ exit
Eelmiste käskude tulemusena nägite, kuidas muuta failiõigusi ja mille tulemusena lõpuks peeter ei pääsenud ligi failile minutekstifail.txt
8. Käsurea efektiivne kasutamine
Käsurida on võimekas tööriist, kuid tööriista peab õppima oskuslikult käsitsema. Järgnevalt jagavad praktikumi juhendajad teiega vihjeid, kuidas käsurida mugavamalt ja efektiivsemalt kasutada.
CTRL
+ALT
+T
võimaldab terminali graafilises keskkonnas kiiresti avada.TAB
– tabulaatorklahvi ühe korra (või kiiresti mitu korda) vajutades üritab käsurida teostada auto-complete või kuvada valikuvariante.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 ajaloost käsu nr 17 ja!!
käivitab ajaloost viimase käsu).history
asub kasutaja kodukaustas failis nimega.bash_history
, seega on igal kasutajal personaalne ajalugu. history salvestub, kui käsurida sulgeda korrektselt (exit
jne)
- Eelnevate käskude vahel saab liikuda kiiresti nooleklahvide abil
nool üles
,nool alla
(vasak-, paremklahviga saab liikuda käsu redigeerimiseks käsurea õigesse positsiooni). home
-,end
-klahviga saab liikuda rea algusesse, lõppu.CTRL
+R
võimaldab otsida ajaloos tagurpidi (viimased käsud enne),CTRL
+R
teistkordsel vajutamisel kuvatakse ajaloost järgmine otsingule vastav käsk.SHIFT
+pg-up
,pg-dn
võimaldab kerida terminali ekraanikaupa, ka kohtades, kus kerimisriba puudub.clear
-käsuga saab tühjendada käsurea eelnevate käskude väljundist.- Punktiga (
.
) algava nimega failid ja kataloogid on peidetud. - Kui faili nimi või käsu parameeter sisaldab tühikuid, tuleb need kas varjestada (pannes tühiku ette tähemärgi
\
) või ümbritseda kogu nimi või parameeter jutumärkidega. - 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 faile jne). exit
, trükkides käsureale selle sulgemiseks, salvestab ka käsud history-faili. Nurgastx
vajutades kasutatud käske ei salvestata.- Soovitatav on koostada endale nn Linuxi lühikonspekt, kust on hea käske või muid nüansse, mis harvemal Linuxi kasutajal ununeda võivad, kiiresti meelde tuletada. Näide õppejõu A. Peets koostatud Süsteemihalduse kursuse Linux.docx lühikonspekt.
- Klaviatuuri asetuse valimine: Lisa graafilises kasutajaliideses teine klaviatuuriasetus
Keyboard
->Input Sources
->Other
->Estonian
(võiEnglish
, kui valisite varasemalt juba eesti keele) ja nüüd võite eesti keele lohistada nimekirjas esimeseks. Ajalooliselt saab käsurealt klaviatuuripaigutusi muuta omale sobivaks käsugasudo 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äsugasetxkbmap ee
võisudo loadkeys et
(ei salvestu, seega peate igakord uuesti tegema, kui terminali avate). Ubuntus on olemas veel kalocalectl
. NB! Enamik käsurea käske kahjuks ei muuda enam klaviatuuriasetust nii nagu varasemalt ja hetkel soovitab Ubuntu kasutusjuhend vahetada keelt graafilises kasutajaliideses.
9. Käsurea harjutamise ülesanded
Tutvu ka alamlehega "Enamkasutatud Unixi käsud" ning seejärel proovi lahendada järgnevad ülesanded:
- Liigu käsureal oma kodukataloogi (kataloogi lühem nimetus, mida kasutame juhendis, on kaust) (/home/ubuntu).
- Loo uus kataloog
tabulaatori_klahvi_kasutamine_vähendab_oluliselt_trükkimise_vaeva
. - Tekita sinna kataloogi failid file1, file2, file3, file4, file4a (soovitatavalt ühe käsuga).
- Milline üks
ls
käsk kuvab ainult failid file3 ja file4 sellest kataloogist? - Tee loodud kataloogi sisse veel üks kataloog
Kaust
. - Liiguta (move)
file4
kataloogiKaust
sisse. - Kirjuta
file4
-faili "See on näidistekst!". Selleks võid kasutada näiteks tekstiredaktori programminano
(väljumiseks (ning faili salvestamiseks) vajutaCTRL+X
). - Otsi oma kodukataloogist faile, mille nimi algab tekstiga "
file4
". - Otsi oma kodukataloogist faile, mis sisaldavad sõna näidistekst.
- Loo kataloogi
tabulaatori_klahvi_kasutamine_vähendab_oluliselt_trükkimise_vaeva
uus kaust nimegapeidetud asjad
(tühik nimes on oluline) ja liigucd
-käsuga vastavasse kausta. - Loo kataloogi
peidetud asjad
sisse peidetud fail käsuga "echo "peidetud faili sisu" > .peidetudFail.txt
". Millisels
-käsuga näeb ka peidetud faile (nt. .peidetudFail.txt) kaustaspeidetud asjad
? - Kustuta kaust
peidetud asjad
nii, et automaatselt kustutatakse ka kõik seal sees olevad failid. - Lae käsurealt alla veebilehe
https://courses.cs.ut.ee
avaleht (vihje: wget). - Kuva eelmises punktis alla laetud faili index.html sisust ainult
esimesed 5 rida
käsurea aknas. - Leia allalaetud failist index.html kõik
read
, mis sisaldavad lühenditLTAT.06
, ja väljasta need koosreanumbritega
(vihje: käsk grep).
NB! sudo
ehk administraatori õigused pole oma failidega tegelemisel vajalikud! 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. Nägemaks, kus oleme, saame kasutada käsku pwd
. Veelkord – oma kodukataloogis tuleb enamasti hakkama saada ilma sudo
ta.
Et praktikumijuhend liiga igav ei tunduks, lisame siia mõned pildid ka :)
Autor: Julia Evans https://twitter.com/b0rk
10. 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.
11. Väljundi suunamine teise programmi sisendiks – |
Ühe programmi väljundi suunamine teise programmi sisendisse võimaldab lihtsatest käskudest konstrueerida kokku küllaltki keerulisi andmetöötlusjadasid. Programmide sisendi ja väljundi võimaldab kokku ühendada | ehk toru (pipe). Püstkriipsu ehk |
sümboli saate eesti klaviatuuri puhul Linuxis alt gr
+ <>|
klahvikombinatsiooniga. NB! CTRL
+ALT
ei ole alati operatsioonisüsteemides samaväärne alt gr
klahviga. Virtuaalmasinas leiate püstkriipsu ka Input
-> Keyboard
-> Soft keyboard
-> Layout list
(keelevaliku nupp all paremal) -> Deutsch T1 (German)
. US
klaviatuuril on kasutusel nn väike ENTER
aga Eesti asetusel suur. Seetõttu on enamasti sobivaim valida Rootsi asetus, selle puudusel näiteks Saksa asetus.
Näiteks süsteemi kasutajate faili kuvamine lehekülgede kaupa:
tambet@arendus:~$ cat /etc/passwd | more
Protsessinimekirjast nende kuvamine, mis sisaldavad teatud sõna:
tambet@arendus:~$ ps -ef | grep bash
Vastus teise praktikumi ülesandele "leida erinevate kasutajate arv, kelle protsesse süsteemis käib":
tambet@arendus:~$ ps -ef | tail -n+2 | cut -c-9 | sort | uniq | wc -l 9
Harutame viimase käsu juppideks:
ps -ef
- kuva kõikide protsesside nimekiri.
tail -n+2
- kuva kõik read alates teisest reast.
cut -c-9
- jäta sisendi igalt realt alles ainult esimesed 9 tähemärki. -c asemel on tihti vaja kasutada ka
cut -d" " -f3-
-käsku, mis siis seab väljade eraldajaks tühiku ning jätab alles tulbad 3ndast lõpuni. Ennecut
-käsku on soovitatav lisada käsujadasse ka käsktr -s " "
, mis eemaldab korduvad tühikud. sort
- sorteeri sisend tähestiku järjekorras (eeldus
uniq
-käsule). uniq
- jäta korduvad read alles ühekordselt.
wc -l
- loe kokku ridade arv ja väljasta see.
Käivita neid käske, alustades kõige esimesest, ja lisa ükshaaval | abil järgmisi käske lõppu.
Tulemus (esitada)
- Ülesanne: Oleme teile loonud eestikeelse Linuxi käskude harjutamise keskkonna, millele pääsete ligi külastades lühilinki http://lingid.ee/kasurida . Kindlasti autentige (Looge uus kasutaja) ennast seal TÜ e-mailiga (kujul
eesnimi.perenimi@ut.ee
) ja enda nimega vastava harjutuse eest punktide saamiseks (esitatud lahenduse piltidel peab olema teie nimi kasutajana nähtav). Kontrollkoodi saadab masin, seega on suur tõenäosus et vastav e-mail läheb TÜ e-mailipostkastisOther
võiRämspost
,Junk
,Spam
jne kasuta. TÜ e-maile saate lugeda aadressilt http://kiri.ut.ee. Lahendada tuleb "Operatsioonisüsteemid ja Andmeturve" test. Esitage ekraanivaade veebilehitsejast (screenshot) lahenduste tõestuseks.Palun ärge lõigake veebilehitseja ekraanivaadet väiksemaks, pildil peab olema näha kogu veebilehitseja, rohelised lahendused ja teie nimi
.- (NB! Tudengite TÜ ametlik e-mail on kujul eesnimi.perenimi@ut.ee, mitte kasutajatunnus@ut.ee kuhu kirjad kahjuks kohale ei jõua).
- Tehniliste probleemide korral kirjutage alo punkt peets ät ut punkt ee kes tegeleb keskkondade haldamisega.
Varuvariant:
Tagavara variandina on püsti ka Linux käsurea harjutustevana versioon
, mis ligipääsetav ainult TÜ sisevõrgust külastades veebilehitseja IP aadressi172.17.36.180
http://172.17.36.180. Vana versiooni on lubatud kasutada ja seal esitada lahendusi ainult kui esitate koosvana versiooni
lahendusega ka põhjenduse miks (millal) uut versiooni ei saanud kasutada. Kui lahendate vastavat vana versiooni ülesannet väljaspool klassiruumi on vajalik aktiveerida eelnevalt VPN https://wiki.ut.ee/pages/viewpage.action?pageId=17105590 PS! Veebilehitsejas on vaja lubada ka pop-up windows funktsionaalsus lehekülje edukaks toimimiseks pärast avalehte. Kui teie isiklik arvuti kasutabdocker
tarkvara, siis tekib IP konflik ja leht pole kättesaadav (lülitage docker ajutiselt välja). Leht ei ole kättesaadav üle HTTPS-i (lülitage väljahttps always
veebilehitseja laiend kui teie veebilehitseja kuvab lehte https:// algusega mitte http://...). Sisenege TÜ sisevõrgu aadressil http://172.17.36.180 leitavas veebilehel oma nime ja matriklinumbriga ning lahendage kõik 10 harjutus ülesannet (muutunud roheliseks).
Kui praktikum on edukalt läbitud, siis koosta aruanne (dokumentatsioon) oma GitHubi / GitLabi lehele ja esita ülesanne moodle.ut.ee keskkonnas hindamiseks enne tähtaega.
https://moodle.ut.ee/mod/assign/view.php?id=1184283
(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.