Operatsioonisüsteemi UNIX lühitutvustus
Failid Unix’is - Failide juurdepääsuõigused - Juurdepääsuõiguste muutmine
Mõned UNIX’i käsud - Näiteid UNIX’i käskudest
Harjutusülesanded

UNIX on populaarne mitmekasutaja ja multitegumtööga operatsioonisüsteem, mis töötati välja 70-ndate aastate alguses Bell Labs’s ja millel on mitu versiooni. Üheks levinumaks on 1991. aastal Linus Torvaldsi poolt IBM-tüüpi arvutite jaoks loodud LINUX, mida levitatakse tasuta (priivarana).
Selles õppematerjalis heidame ainult põgusa pilgu sellele teemale ja esitame ainult kõige olulisema.
 

Failid Unix’is
Failid jagunevad üldiselt kaheks: tekstifailid (text) ja kahendfailid (binary). UNIX’i failidel on tunduvalt enam parameetreid. Faili üheks kõige olulisemaks parameetriks on tema kuuluvus. Igal failil peetakse meeles omaniku, rühma ja ülejäänute juurdepääsuõigused. Igal UNIX’i kasutajal on lisaks kasutajanimele ka veel grupitunnus. Nii on võimalik faile valikuliselt kättesaadavaks teha – mõned omanikule, mõned tema grupile, mõned aga kõigile soovijaile.
Failide nimed on suhteliselt vabalt valitavad. Suur- ja väiketähtedel tehakse vahet, st. failid ‘maja.bmp’ ja ‘MAJA.bmp’ on erinevad failid. Punktiga algavad nimed on peidetud. Puudub faili laiendi mõiste, punktid on samuti nime osa. Nimede sees tuleb hoiduda märkidest:

& ; | * ? ` “ ' [ ] ( ) $ < > { } % ! # @ \
Lisaks failidele võivad kataloogis olla veel viidad (link) teistele failidele. Kataloogide eraldajaks faili täisnimes on kaldkriips '/', näiteks: /home/htg/a5/a5marge/referaadid.doc.1
Samuti puudub kettaseadmemõiste – kõik failid asuvad ühises puus. Faili täisnimi algab alati kaldkriipsuga, mis tähistab juurkataloogi.
Algusesse
 

Failide juurdepääsuõigused
Teine tähtis mõõde UNIX’i failisüsteemis sisaldab endas infot selle kohta, kas faili on lubatud lugeda (read, r), kas faili tohib muudatusi salvestada ja kustututada (write, w) ning kas seda faili tohib käivitada ja otsida (execute, x). Need kolm õigust määratakse iga taseme jaoks –omanik (user), rühm (group) ja ülejäänud (others). Õigusi saab muuta faili (kataloogi) omanik ja süsteemi administraator.
Faili juurdepääsuõigusi näitavad tema loabitid käsu ‘ls –l’ väljundis:
Juurdepääsuõigused esitatakse 10 märgi jadana, millest 1. märk tähistab faili tüüpi (fail, kataloog või link), järgmised kolm omaniku õigusi, järgmised kolm grupi õigusi ja viimased kolm kõigi ülejäänud kasutajate õigusi. Õigus on olema, kui vastav märk on jadas kirjas, õigus puudub, kui vastav märk jadas on asendatud kriipsuga. Märkideks on tähed drwx (d – kataloog, l – link, r – lugemine, w – kirjutamine, x – käivitamine).

drwxrwxrwx – maksimaalõigustega (kõigil on lubatud kõike teha) kataloog;
-rwxrwxrwx – maksimaalõigustega fail
Iga taseme õigusi saab teada siis vaadates, millised tähed vastavas kolmikus esindatud on.
Näiteks: drwxr-x--- kataloogi loabitt, millele omanikul on kõik õigused, rühmal on õigus lugeda ja faile otsida, teistel pole aga sinna üldse asja.
Algusesse

Juurdepääsuõiguste muutmine
Õigusi saab muuta käsuga chmod {kellele}{mida teeme}{õigused} {fail}
kellele: üks või mitu märki alljärgnevatest:
- u omanik ise (user)
- g rühm (group)
- o teised (others)
- a kõik eelnimetatud (all)
mida teeme: üks märk alljärgnevatest:
anname õiguse(d)
–  võtame õiguse(d)
täpselt need õigused ja ei midagi muud
õigused: üks või mitu märki alljärgnevatest:
- r õigus lugeda (read)
- w õigus kirjutada ja kustutada (write)
- x õigus faili käivitada või teegi otsida (execute)
Näiteks käsk chmod go -wr salamaterjal.secret võtab teistelt rühma liikmetelt ja ülejäänud kasutajatelt ära lugemis- ja kirjutamisõiguse failile 'salamaterjal.secret'.
Teine võimalus on määrata numbrilise koodi abil ära täpsed õigused failile käsuga
chmod kood failinimi. Selleks kasutatakse kodeerimist r=4, w=2, x=1. Iga kolmiku jaoks leitakse vastav summa (liidetakse kokku olemasolevatele omadustele vastavad arvud) ja nii saadakse kolmekohaline number, millest esimene tähistab omaniku õigusi, teine grupi omi ja viimane kõigi ülejäänute õigusi.

Näiteks käsk chmod 744 fail2 annab failile nimega ‘fail2’ järgmised õigused:

omanikul on kõik õigused (rwx);
grupi liikmetel on lugemisõigus (r--);
ülejäänutel on lugemisõigus (r--).
Faili loabitt oleks siis –rwxr--r--.
Algusesse
 

Mõned UNIX’i käsud
Enne käskude tutvustamist oleks hea teada, et UNIX’is saab ühte käsku rakendada mitmele failile, kui käsu sisendisse anda failinimi sobivate erimärkidega. Enne käsu täitmist asendatakse kõik käsureal leiduvad erimärgid vastavalt nende tähendusele. Kasutada saab asendusmärke:

*
asendab mistahes märgijada (isegi tühja)
? asendab mistahes ühte märki
[märgid] asendab ühte kantsulgudes olevatest märkidest
Näiteks: kui jooksvas kataloogis on failid kiri1
kiri2
kiri10
ptk4.txt
ptk5.txt
.login
siis asendatakse nimesid järgmiselt:
* kiri1 kiri2 kiri10 Ptk4.txt ptk5.txt (kõik nimed)
kiri? kiri1 kiri2  
kiri* kiri1 kiri2 kiri10  
[Pp]tk* Ptk4.txt ptk5.txt (nimed, mis algavad p või P-ga)
*.* Ptk4.txt ptk5.txt (nimed, mis sisaldavad punkti)
.* .login (nimed, mis algavad punktiga)
Punktiga algavad nimed on tavaliselt peidetud.
Algusesse

UNIX-i käsud abiinfo saamiseks
Siin on toodud antud käskude lihtsustatud vorm, teinekord on vajalik oma soov täpsemalt vormistada lisades käsu lõppu võtmed. Abiinfo on (muidugi) ingliskeelne.
whatis {käsk}  
man {käsk}  
apropos {sõna} Info otsimine võtmesõna järgi.
whereis {failinimi} Käsuga seotud failide otsimine.
which {käsk} Käsu asukoha täpsustamine. Näitab, kas käsk on alias või siis millises kataloogis asub vastav programm.

UNIX-i käsud tööks kataloogidega
Siin on esitatud käskude mittetäielik kirjeldus, täpsemat infot antud käsu kohta saab toksides 'man {käsk}'.
ls
kataloogi sisu näitamine: 

Võtmed: -l – näitab teegi sisu laias formaadis (rohkem infot faili kohta);
–a – näitab kõiki, ka “peidetud” faile.
alias käsk Pikemale käsule lühema nime andmine.
pwd (print working directory) käesoleva kataloogi nime näitamine.
cd (change directory) käesoleva teegi muutmine. Ilma argumendita toob kasutaja kodukataloogi (~).
cd .. viib ülemkataloogi (sammu võrra ülessepoole)
mkdir kataloog (make directory) uue kataloogi tekitamine (nimega kataloog).
rmdir kataloog (remove directory) tühja kataloogi eemaldamine.
cp vana ja uue faili nimi (copy) faili kopeerimine.
mv (move) faili või kataloogi ümbernimetamine (tõstmine).
rm faili nimi (remove) faili eemaldamine. Võtmega -r eemaldatakse terve kataloogipuuoks, mis algab antud nimega.
chmod õigused ja failinimi (change mode) õiguste muutmine failile või kataloogile. Kasutada saab ainult omanik.
more faili nimi tekstifaili sisu näitamine ekraanitäite kaupa.
Algusesse

Näiteid UNIX’i käskudest
mkdir kaust1 kaust2 loob aktiivsele kataloogile alamakataloogid kaust1 ja kaust2
rm file1 file2 kustutab failid file1 ja file2
cp file1 file2 teeb aktiivses kataloogis failist file1 koopia file2, kui file2 oli olemas, siis kirjutatakse vana fail üle!
cp file1… filen kataloog kopeerib aktiivsest kaustast n faili näidatud kataloogi
mv file1 file2 nimetab aktiivses kataloogis file1 failiks file2
mv pildid vanadpildid nimetab kataloogi pildid kataloogiks vanadpildid
mv file1… filen kaust teisaldab n faili aktiivsest kataloogist kataloogi kaust
Algusesse
 

Harjutusülesanded
Ülesanne 8
Mida teevad järgmised Unix käsud?
chmod 477 *.txt  
ls –la  
cd ..  
cd /  
cd public_html  
cd /temp  
mkdir kaust1  
rmdir pildid  
cp uus.txt vana.txt  
mv uus.txt vana.txt  
rm *  
exit  
pine  

Ülesanne 9
Mida näitavad järgmised märgid käsu ‘ls –l’ väljundis?
drwxr-xr-x  
-rw-r--r--  
-rw-------  
drwx------  
-rwxr-xr-x  
Algusesse