Failisüsteemi kaart
Selles peatükis vaatame, millised kaustad Unix-laadse süsteemi juures kõige sagedamini ette tulevad ja mida nad üldjoontes tähendavad.
Loogika
Algaja jaoks on väga tavaline küsimus:
- mis vahe on
/ja~vahel - miks mõni fail on minu kodukataloogis, aga mõni
/etcall - miks süsteemifailidega ei tasu suvaliselt katsetada
Failisüsteemi kaart aitab siduda üksikuid käske suurema pildiga. Kui tead, mis tüüpi asjad mingis kaustas tavaliselt elavad, on ka veaotsing ja navigeerimine palju lihtsam.
Kiirspikker
/on kogu failipuu juur~tähendab sinu kodukataloogi/homeon Linuxis kasutajate kodukataloogide tavaline vanemkaust/Userson macOS-is kasutajate kodukataloogide tavaline vanemkaust/etcsisaldab palju süsteemi seadistusfaile/usrsisaldab palju programme ja teeke/varsisaldab muutuvat sisu nagu logid ja vaheandmed/tmpon ajutiste failide koht
Käivita need käsud
pwd
echo "$HOME"
cd /
ls
ls /etc | head
ls /usr | head
ls /var | head
ls -ld /tmp
Kui kasutad macOS-i, siis vaata ka:
ls /Users
/ ehk juur
Kõige ülemine kaust on /.
See ei tähenda “minu kodukataloog”, vaid kogu failipuu algust. Kui kirjutad:
cd /
siis liigud süsteemi juure juurde, mitte oma isiklikku töökataloogi.
Oluline vahe:
cd /viib süsteemi juurecd ~viib sinu kodukataloogicd ..liigub ühe taseme võrra üles
Kodukataloog: ~
Kodukataloog on koht, kus tavaline kasutaja enamasti töötab.
Linuxis on see sageli midagi sellist:
/home/vilo
macOS-is sageli midagi sellist:
/Users/vilo
Sümbol ~ tähendab lühidalt sinu kodukataloogi. Näiteks:
~/Downloads~/.ssh~/proov
See on põhjus, miks esimesed harjutused tasub teha just kodukataloogi all.
/etc
/etc sisaldab palju süsteemi seadistusi.
Sealt võib leida näiteks:
- teenuste seadistusfaile
- võrgu seadeid
- kasutajate ja gruppide infot
See ei ole hea koht algajale juhuslikeks katsetusteks. Selles kaustas muudatusi tehes tasub alati täpselt teada, mida muudad ja miks.
/usr
/usr sisaldab palju programme, käske, teeke ja dokumentatsiooni.
Praktiliselt võid sellest mõelda nii:
- siin on palju “süsteemi poolt pakutud tööriistu”
- sina kasutad neid sageli, aga ei muuda neid otse käsitsi
Sageli näed seal kaustu nagu:
/usr/bin/usr/lib/usr/share
/var
/var on mõeldud muutuvate andmete jaoks.
Seal võivad olla näiteks:
- logifailid
- vahemälud
- spool-id
- teenuste töö käigus tekkivad andmed
Kui otsid, miks mingi teenus ei tööta või kuhu ruum kadus, jõuad üsna tihti just /var alla.
/tmp
/tmp on ajutiste failide koht.
See tähendab tavaliselt:
- siia pannakse lühiajaliselt vahefaile
- süsteem või programmid võivad selle sisu hiljem kustutada
- siia ei tasu panna faile, mida tahad kindlasti alles hoida
Kui tahad lihtsalt kiiresti midagi testida, võib /tmp olla kasulik töökoht. Kui tahad, et fail kindlasti alles jääks, kasuta pigem oma kodukataloogi.
Linux ja macOS ei ole siin täiesti samad
Raamatu loogika on Unix-laadne, aga detailides on vahe:
- Linuxis on kasutajate kodud tihti
/home - macOS-is on kasutajate kodud tihti
/Users - macOS-is on osa süsteemikaustu kaitstumad ja neid ei ole mõistlik käsitsi muuta
Seetõttu tasub mõelda mitte ainult teepärale endale, vaid ka selle rollile.
Rusikareegel
Kui mõtled “kus ma tohiksin vabalt katsetada?”, siis tavaliselt:
- hea koht on sinu kodukataloog
- ettevaatlik koht on projektikaust, kus on päris töö
- halb koht juhukatsetusteks on süsteemikaust nagu
/etcvõi/usr
Minitest
- Seleta oma sõnadega, mis vahe on
cd /jacd ~vahel. - Uuri välja, mis on sinu kodukataloogi tegelik tee.
- Vaata, kas sinu süsteemis on kasutajate kodud pigem
/homevõi/Usersall. - Pane kirja, milline kaust sobib ajutisteks failideks ja milline süsteemi seadistusteks.