Failihaldus Linux shellis
Sissejuhatus
Failihaldus Linuxis on Windowsiga võrreldes erinev ja seda seetõttu, et Linuxis ei ole kettaid. Kõik kõvaketaste partitsioonid, cd seade ja disketiseade haagitakse külge kas kasutaja või siis süsteemi poolt määratud kataloogidele. Süsteemsed kataloogid asuvad juurkaustas. Kasutatakse viitamist. Näiteks /dev/ kataloogis asuvad seadmed ja kui tekib vajadus viidata mõnele seadmele, siis tehakse seda /dev/ kataloogi kaudu, viidates vajalikule seadmele. Süsteemsete kataloogide sisu näevad kõik kasutajad kuid muuta saab ainult juurkasutaja.
Linuxi laadsetes süsteemides nimetatakse failideks ka kõiki katalooge ja seadmeid. Kõikidel failidel on failiomanikud ja failigrupid ning faili atribuudid sisaldavad muuhulgas infot faili omaniku ja grupi kohta, kuhu nimetatud failiomanik kuulub. Failiomaniku ja failigrupi õigused märgitakse vastavalt: UID ja GID. Iga uue faili loomisel talletatakse automaatselt selle faili UID ja GID.
Failisüsteemi hierarhia
Tooksin näitena mõned Linuxis olevad kataloogid, lisades juurde nendes sisalduva. Süsteemsed programmid mis on vajalikud süsteeemi laadimiseks asuvad kaustas
/bin/
Kernelid, millede vahel saab alglaadimisel valida asuvad kaustas
/boot/
Seadmefailid asuvad kaustas
/dev/
Konfiguratsioonifaile sisaldab
/etc/
Kasutajate kodukataloogid, mida hoitakse enamasti eraldi partitsioonil e. kettajaol ning mis luuakse tavapäraselt installeerimisel,on kõige suurem, nimega
/home/
Jagatud teegid (Libraries) asuvad kaustas
/lib/
Eemaldatavad seadmed nagu: USB, CD-ROM jt asuvad kaustas
/media/
Ajutised failisüsteemid ühendatakse kausta
/mnt/
Juurkasutaja kodukataloog
/root/
Kataloog ajutiste failide hoidmiseks
/tmp/
jpt.
Üks ja sama kataloog võib asuda Linuxi laadsetes operatsioonisüsteemides failisüsteemi mitmes erinevas kohas. Sellisel juhul on võimalik faili või kataloogi poole pöörduda lingi abil, mida on kahte tüüpi:
Hard Link e otselink (viit andmetele), mille abil saab viidatata vaid ühe failisüsteemi piires. Symbolic Link e nimelink (viit nimele), mille abil saab viidata ka teises failisüsteemis olevatele failidele.
Faili ja kataloogi loomine
Failide loomiseks kasutatakse käsku touch ja kataloogide loomiseks mkdir. Faililaiendeid nagu .txt ei ole tarvis seetõttu kasutada.
Loome tekstifaili "kass.tx".
touch kass.txt
Loome kataloogi "loomad".
mkdir loomad
Faili otsimine, vaatamine, liikumine
Korraldus find abil on võimalik leida faile erinevate parameetrite abil, nagu näiteks failinime, omaniku, grupi, suuruse jm järgi. On võimalik vaadata failiõiguseid ja muud meid huvitavat.
Otsime tekstifaili "kass.txt"
find kass.txt
Otsime katalooge koos failiõiguste, loomiskuupäevaga.
ls -l
Käsu less abil saame vaadata faili sees ja väljumiseks failist kasutame vajutame q.
Avame vaatamiseks faili "kass.txt"
less kass.txt
Käsk cd on käsk kodukataloogides liikumiseks. Tavakasutaja satub selle käsuga kodukataloogi, root-kasutaja satub aga root kataloogi.
Läheme kataloogi "loomad".
cd loomad
Faili kopeerimine, liigutamine
Liigutamiseks kasutatakse käsku mv ja kopeerimiseks cp. Liigutame faili "kass.txt" kausta "loomad".
mv kass.txt loomad
Kopeerime faili "koer.txt" sisu faili "kass.txt"
cp koer.txt kass.txt
Faili kustutamine
Kustutame faili "kutsu.txt"
rm kutsu.txt
Kui kasutaja soovib aga kustutada faili, mis asub kausta sees, tuleb käsuga cd kõigepealt sinna kausta liikuda ja alles siis fail käsuga rm kustutada.
Kustutame kaustas "loomad" faili "kass.txt" järgnevalt:
cd loomad
rm kass.txt
Kataloogi kustutamiseks koos sealolevate failidega kasutatakse võtit -r
Kustutame kataloogi "linnud" koos sealolevate failidega
rm –r linnud
Kataloogistruktuuri loomine
Kataloogide loomiseks kasutatakse käsku mkdir ja sobiva kataloogistruktuuri loomiseks kasutatakse võtit -p
Loome kataloogistruktuuri, milles kaust "1" sees asub kaust "2", selle sees omakorda kaust "3" jne.
mkdir 1/2/3/4 –p
Loome kausta "koer", mille sees on kohe kaust "kass".
mkdir koer/kass -p
Sama asi on võimalik teha ka nii:
mkdir koer
cd koer
mkdir kass
kuid see tee on oluliselt pikem.
Failiõigused ja nende muutmine
Failiõigusteks on: lugemine, kirjutamine, käivitamine, kustutamine, juurepääsulubade muutmine. Failiõigusi saab muuta kas käsurealt käsuga chmod või siis faili omaduste alt. Muuta saab ainult vastava faili omanik.
Kuvame kataloogide sisu koos failiõiguste, loomiskuupäevaga, käsuga
ls –l
ja meile avaneb vaade
-rw-r--r-- 1 root root 0 dets 12 09:57 kala.txt
drwxr-xr-x 3 root root 4096 dets 12 08:48 loomad
milles:
- rea ees viitab failile
d rea ees viitab kataloogile
r tähistab faili lugemise ja kataloogi kasutamise õigust
w tähistab kirjutamise, lisamise, muutmise, kustutamise ja ümber nimetamise õigust
x tähistab faili käivitamise ja kataloogi sisenemise õigust
Tähe puudumine on niisiis vastava õiguse puudumine.
Igal failil on näha erinevad õigused, mis on määratud rwx kombinatsiooniga, seatuna kolmele erinevale kasutajale, milles vastavalt järjekorras:
u
tähistab omanikku ja on esimene kolmik "rwx" kombinatsioonist
g tähistab gruppi ja on teine kolmik "rwx" kombinatsioonist
o tähistab viimase "rwx" kolmikuna kõiki teisi
Kõiki õiguseid on võimalik muuta kahel viisil:
1) Õiguseid saab juurde anda tähekombinatsioonidega +r,+w,+x. Õiguseid saab ära võtta –r,-w,-x ja = märgiga seatakse failile ainult vastavad õigused.
Lisame kõigile faili "kass.txt" kirjutamise õiguse, lisame omanikule faili muutmise ja käivitamise õiguse ning võtame grupilt lugemise õiguse.
chmod a+r,u+wx,g-r kass.txt
2) Numbriliselt, milles iga number on summa, millest omakorda: 4 on lugemisõigus, 2 on kirjutamisõigus ja 1 käivitamisõigus.
Anname failile "kass.txt" omanikule lugemisõiguse ja kirjutamisõiguse 6(= 4+2), anname grupile lugemisõiguse 4(= 4)ja kõigile teistele ei anna sellele failile mingeid õigusi 0(=0).
chmod 640 kass.txt
NB! Et muuta faili grupiõigusi, on vaja kõigepealt käsu chgrp abil luua failile failigrupp ja seejärel saab muuta õigusi nagu eelnevalt kirjas.
Failiomaniku või -grupi muutmine
Kõikidel failidel on võimalik muuta nii omanikku käsuga chown ja gruppi käsuga chgrp.
Teeme faili "loomad" omanikuks "vova".
chown vova loomad
Kui soovitakse kasutaja teha ka valitud kataloogis asuva sisu omanikuks, kasutatakse võtit -R.
Teeme faili "loomad", koos sisuga omanikuks "vova".
chown –R vova loomad
Muudame faili loomad failigrupiks "raamatupidajad".
chgrp raamatupidajad loomad
Viited
http://kuutorvaja.eenet.ee/wiki/Faili%C3%B5igused
http://www.physic.ut.ee/instituudid/efti/loengumaterjalid/ara/linux/dplt.htm#_Toc42308177
Autor
Maris Kuusik AK21 Kuupäev: 13.12.2012