Failihaldus Linux shellis: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Mkuusik (talk | contribs)
Mkuusik (talk | contribs)
 
(26 intermediate revisions by the same user not shown)
Line 1: Line 1:


==Sissejuhatus==
==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.  
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.  
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.
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.
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==
==Failisüsteemi hierarhia==
Line 34: Line 34:
Ü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:
Ü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.
'''[[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.
'''[[Symbolic Link]] e nimelink''' (viit nimele), mille abil saab viidata ka teises failisüsteemis olevatele failidele.


==Faili ja kataloogi loomine==  
==Faili ja kataloogi loomine==  
Failide loomiseks kasutatakse käsku '''touch''' ja kataloogide loomiseks '''mkdir'''. Faililaiendeid nagu .txt ei ole tarvis seetõttu kasutada.
Failide loomiseks kasutatakse käsku '''[[touch]]''' ja kataloogide loomiseks '''[[mkdir]]'''. Faililaiendeid nagu .txt ei ole tarvis seetõttu kasutada.




Loome tekstifaili kass.txt.
Loome tekstifaili "kass.tx".
   <pre> touch kass.txt </pre>
   <pre> touch kass.txt </pre>
Loome kataloogi loomad.
Loome kataloogi "loomad".
<pre> mkdir loomad </pre>
<pre> mkdir loomad </pre>


== Faili otsimine, vaatamine, liikumine==
== 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.
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
Otsime kasutaja "juhan" faile, mis on väiksemad kui 1MB
   <pre> find kass.txt</pre>
   <pre> find / -size -1024k -user juhan</pre>
 
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"
<pre> grep kernel /var/log –i –r </pre>


Otsime katalooge koos failiõiguste, loomiskuupäevaga.
Otsime katalooge koos failiõiguste, loomiskuupäevaga.
<pre> ls -l </pre>
<pre> ls -l </pre>


Käsu '''less''' abil saame vaadata faili sees ja väljumiseks failist kasutame vajutame '''q'''.
Käsu '''[[less]]''' abil saame vaadata faili sees ja väljumiseks failist kasutame vajutame '''q'''.


Avame vaatamiseks faili kass.txt
Avame vaatamiseks faili "kass.txt"
<pre> less kass.txt </pre>
<pre> less kass.txt </pre>


Käsk  '''cd''' on käsk kodukataloogides liikumiseks. Tavakasutaja satub selle käsuga kodukataloogi, root-kasutaja satub aga root kataloogi.
Käsk  '''[[cd]]''' on käsk kodukataloogides liikumiseks. Tavakasutaja satub selle käsuga kodukataloogi, root-kasutaja satub aga root kataloogi.


Läheme kataloogi loomad.
Läheme kataloogi "loomad".
   <pre> cd loomad </pre>
   <pre> cd loomad </pre>


==Faili kopeerimine, liigutamine==
==Faili kopeerimine, liigutamine==
Liigutame faili kass.txt kausta loomad.
Liigutamiseks kasutatakse käsku '''[[mv]]''' ja kopeerimiseks '''[[cp]]'''.
Liigutame faili "kass.txt" kausta "loomad".
   <pre> mv kass.txt loomad </pre>
   <pre> mv kass.txt loomad </pre>
Kopeerime faili koer.txt  sisu faili kass.txt
Kopeerime faili "koer.txt" sisu faili "kass.txt"
  <pre> cp koer.txt kass.txt </pre>
  <pre> cp koer.txt kass.txt </pre>


==Faili kustutamine==
==Faili kustutamine==
Kustutame faili kutsu.txt  
Kustutame faili "kutsu.txt"
   <pre> rm kutsu.txt </pre>
   <pre> rm kutsu.txt </pre>
Kui kasutaja soovib aga kustutada faili, mis asub kausta sees, tuleb käsuga '''cd''' kõigepealt sinna kausta liikuda ja alles siis fail kustutada.
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:
Kustutame kaustas "loomad" faili "kass.txt" järgnevalt:


   <pre> cd loomad </pre>  
   <pre> cd loomad </pre>  
Line 84: Line 90:
Kataloogi kustutamiseks koos sealolevate failidega kasutatakse võtit '''-r'''
Kataloogi kustutamiseks koos sealolevate failidega kasutatakse võtit '''-r'''


Kustutame  kataloogi linnud koos sealolevate failidega
Kustutame  kataloogi "linnud" koos sealolevate failidega
  <pre> rm –r linnud </pre>
  <pre> rm –r linnud </pre>


==Kataloogistruktuuri loomine==
==Kataloogistruktuuri loomine==
Kataloogide loomiseks kasutatakse käsku '''mkdir''' ja sobiva kataloogistruktuuri loomiseks kasutatakse võtit '''-p'''
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.
Loome kataloogistruktuuri, milles kaust "1" sees asub kaust "2", selle sees omakorda kaust "3" jne.


   <pre> mkdir 1/2/3/4 –p </pre>
   <pre> mkdir 1/2/3/4 –p </pre>




Loome kausta koer, mille sees on kohe kaust kass
Loome kausta "koer", mille sees on kohe kaust "kass".
   <pre> mkdir koer/kass -p  </pre>
   <pre> mkdir koer/kass -p  </pre>


Line 109: Line 115:


==Failiõigused ja nende muutmine==
==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.
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.




Line 149: Line 155:


'''u'''
'''u'''
tähistab omanikku ja on esimene kolmik rwx kombinatsioonist
tähistab omanikku ja on esimene kolmik "rwx" kombinatsioonist


'''g'''
'''g'''
tähistab gruppi ja on teine kolmik rwx kombinatsioonist
tähistab gruppi ja on teine kolmik "rwx" kombinatsioonist


'''o'''
'''o'''
tähistab viimase rwx kolmikuna kõiki teisi
tähistab viimase "rwx" kolmikuna kõiki teisi




Line 163: Line 169:




Lisame kõigile faili kass.txt kirjutamise õiguse, lisame omanikule faili muutmise ja käivitamise õiguse ning võtame grupilt lugemise õiguse.
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
   <pre> chmod a+r,u+wx,g-r kass.txt </pre>




Line 171: Line 177:




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).
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).
<pre> chmod 640 kass.txt </pre>
<pre> chmod 640 kass.txt </pre>


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.
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==
==Failiomaniku või -grupi muutmine==
Kõikidel failidel on võimalik muuta nii omanikku käsuga '''chown''' ja gruppi käsuga'''chgrp'''.
Kõikidel failidel on võimalik muuta nii omanikku käsuga '''[[chown]]''' ja gruppi käsuga '''[[chgrp]]'''.




Teeme faili "loomad" omanikuks "vova".
Teeme faili "loomad" omanikuks "vova".
<pre> chown  vova loomad </pre>
<pre> chown  peeter loomad </pre>


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


Teeme faili "loomad", koos sisuga omanikuks "vova".
Teeme faili "loomad", koos sisuga omanikuks "vova".
<pre> chown –R vova loomad </pre>
<pre> chown –R peeter loomad </pre>


Muudame faili loomad failigrupiks "raamatupidajad".
Muudame faili loomad failigrupiks "raamatupidajad".

Latest revision as of 12:30, 7 January 2014

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