Mustand: sisu ei ole veel tehniliselt ega keeleliselt täielikult kontrollitud ega toimetatud.

Peatüki vaade

Linux/Unix/macOS käsurea kiirõpik

Praegu loed peatükki Failisüsteemi kaart, mis kuulub osasse Osa II: Süsteemi pilt ja haldus.

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 /etc all
  • 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
  • /home on Linuxis kasutajate kodukataloogide tavaline vanemkaust
  • /Users on macOS-is kasutajate kodukataloogide tavaline vanemkaust
  • /etc sisaldab palju süsteemi seadistusfaile
  • /usr sisaldab palju programme ja teeke
  • /var sisaldab muutuvat sisu nagu logid ja vaheandmed
  • /tmp on 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 juure
  • cd ~ viib sinu kodukataloogi
  • cd .. 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 /etc või /usr

Minitest

  1. Seleta oma sõnadega, mis vahe on cd / ja cd ~ vahel.
  2. Uuri välja, mis on sinu kodukataloogi tegelik tee.
  3. Vaata, kas sinu süsteemis on kasutajate kodud pigem /home või /Users all.
  4. Pane kirja, milline kaust sobib ajutisteks failideks ja milline süsteemi seadistusteks.