Käsurida, failisüsteemi mõiste ja haldamine
Tänases praktikumis
- Õpime tundma Unixi käsurida
- 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äskcommand
- käsk (ntxls
,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ä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 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.
CTRL
+ALT
+T
võimaldab avada kiiresti terminali graafilises keskkonnasTAB
- tabulaatorklahvi vajutades üks (või mitu korda kiiresti) üritab käsurida teostada auto-comlete 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 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)
- 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. home
,end
klahviga saab liikuda rea algusesse, lõppuCTRL
+R
võimaldab otsida ajaloos tagurpidi (viimased käsud enne),CTRL
+R
teistkordsel vajutamisel kuvatakse järgmine otsingule vastav käsk ajaloost.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 on peidetud. - 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. - 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). 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 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):
- Liigu käsureal oma kodukataloogi (kataloogi lühem nimetus, mida kasutame juhendis on kaust) (/home/eesnimi).
- Loo uus kataloog
tabulaatori_klahvi_kasutamine_vähendab_oluliselt_trükkimise_vaeva
. - Tekita sinna kataloogi failid file1, file2, file3, file4 (soovitavalt ü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äidis tekst!". 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äidis.
- 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 oleavad failid. - Lae alla käsurealt
https://courses.cs.ut.ee
veebilehe avaleht (vihje: wget) - Kuva eelmises punktis allalaetud faili index.html sisust ainult
esimesed 5 rida
käsurea aknas. - Leia allalaetud failist index.html kõik
read
, mis sisaldavad lühendit "LTAT.06
" ja väljasta need koosreanumbritega
(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):
- Millise käsuga leiad kus asub käsu
cp
käivitusfail (binary)? Vastusena esita käsk ja käsu vastus. - Millises kaustas hoitakse Ubuntus operatsioonisüsteemi seadistuse faile?
- Millises kaustas hoitakse Ubuntus operatsioonisüsteemi
logifaile
? - Kas Linuxis on Windowsi "Program Files" kataloogiga sarnane kataloog? Selgita oma vastust.
- Leia
/etc
kataloogist ja alamkaustadest kõik failid (kasutasudo
), milles sisaldub sõnaPassword
(case sensitive, tõusutundlik). - Mis sisuline erinevus on käskudel
cp ajutine.txt tmp/
jacp ajutine.txt /tmp
?- Testmiseks võiksite eelnevalt luua faili
touch ajutine.txt
ja kaustamkdir tmp
- Testmiseks võiksite eelnevalt luua faili
Tulemus
Vikilehel peavad olema järgmised tulemused.
- Unix'i käsud ja nende väljundid ülesandes Käsurea harjutamise ülesanded. Kas vormistatud teksti kujul või ekraanivaadetena. (1.5p)
- 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)
- Vastused küsimustele failipuu kohta ülesandes Linuxi kataloogipuu. (0.6p)
- Tühja faili asemel genereerige praktikumi lõpus fail Linuxi käsuga (0.3p)
history >> käsudFaili.txt
- 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(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.