Failihaldus Linux shellis

From ICO wiki
Jump to navigationJump to search

Sissejuhatus

Failihaldus Linuxis on Windowsiga võrreldes erinev ja seda seetõttu, et Linuxis ei ole Windowsiga sarnaselt kettanimesid. 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 kasutaja "juhan" faile, mis on väiksemad kui 1MB

 find / -size -1024k -user juhan

Faili sisu järgi otsimiseks kasutatakse grep käsku. Kasutatakse võtmeid -i, mis tähendab, et otsing ei ole tõstutundlik ja võtit -r, mis tähendab, et otsitakse ka alamkataloogidest.

Otsime kõki faile log kataloogist, mille sees on sõna "kernel"

 grep kernel /var/log –i –r 

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  peeter loomad 

Kui soovitakse kasutaja teha ka valitud kataloogis asuva sisu omanikuks, kasutatakse võtit -R.

Teeme faili "loomad", koos sisuga omanikuks "vova".

 chown –R peeter 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

https://wiki.itcollege.ee/index.php/Category:Operatsioonis%C3%BCsteemide_administreerimine_ja_sidumine

Autor

Maris Kuusik AK21 Kuupäev: 13.12.2012