Failihaldus Linux shellis: Difference between revisions
(40 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 | 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. | 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== | ||
Tooksin näitena mõned kataloogid, lisades juurde nendes sisalduva. | Tooksin näitena mõned Linuxis olevad kataloogid, lisades juurde nendes sisalduva. | ||
Süsteemsed programmid mis on vajalikud süsteeemi laadimiseks asuvad kaustas | Süsteemsed programmid mis on vajalikud süsteeemi laadimiseks asuvad kaustas | ||
/bin/ | /bin/ | ||
Line 33: | 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) 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)abil saab viidata ka teises | '''[[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. | 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 | 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 | Otsime kasutaja "juhan" faile, mis on väiksemad kui 1MB | ||
<pre> find | <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 83: | 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''' | 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 114: | ||
kuid see tee on oluliselt pikem. | kuid see tee on oluliselt pikem. | ||
==Failiõigused== | ==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 | |||
<pre> ls –l </pre> | |||
ja meile avaneb vaade | |||
'''-rw-r--r-- 1 root root 0 dets 12 09:57 kala.txt''' | |||
Tähe puudumine on niisiis vastava õiguse puudumine | |||
Igal failil on erinevad õigused, vastavalt järjekorras: | ''' 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: | Kõiki õiguseid on võimalik muuta kahel viisil: | ||
2) Numbriliselt, milles iga number on summa, millest omakorda | 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. | |||
<pre> chmod a+r,u+wx,g-r kass.txt </pre> | |||
6= 4+2 | |||
4=4 | |||
0=0 | 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). | |||
<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. | |||
==Failiomaniku või -grupi muutmine== | ==Failiomaniku või -grupi muutmine== | ||
Kõikidel failidel on võimalik muuta nii omanikku | Kõikidel failidel on võimalik muuta nii omanikku käsuga '''[[chown]]''' ja gruppi käsuga '''[[chgrp]]'''. | ||
Kui soovitakse | |||
Teeme faili "loomad" omanikuks "vova". | |||
<pre> chown peeter loomad </pre> | |||
chgrp raamatupidajad loomad | |||
Kui soovitakse kasutaja teha ka valitud kataloogis asuva sisu omanikuks, kasutatakse võtit '''-R'''. | |||
Teeme faili "loomad", koos sisuga omanikuks "vova". | |||
<pre> chown –R peeter loomad </pre> | |||
Muudame faili loomad failigrupiks "raamatupidajad". | |||
<pre> chgrp raamatupidajad loomad </pre> | |||
==Viited== | ==Viited== |
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
Autor
Maris Kuusik AK21 Kuupäev: 13.12.2012