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 Terminali esimesed sammud, mis kuulub osasse Osa I: Esimesed sammud.

Terminali esimesed sammud

Terminal on tekstipõhine viis arvutiga suhtlemiseks. Iga käsk kirjutatakse reale, vajutatakse Enter ja seejärel näidatakse tulemust.

Loogika

Kõige rahulikum algus on käskudega, mis ainult näitavad infot ega muuda midagi. Nii saad kõigepealt aru:

  • kus sa oled
  • mis selles kaustas on
  • mis kasutajaga sa töötad
  • mis aega süsteem näitab

Alles pärast seda tasub teha esimene väike muudatus, näiteks luua oma harjutuskaust.

1. Viip ehk prompt

Terminali real näed tavaliselt enne käsku lühikest teksti. Seda nimetatakse viibaks ehk promptiks.

Näiteks:


~/proov %

või:


kasutaja@arvuti:~$

Prompt näitab tavaliselt mõnda neist asjadest:

  • kasutajanime
  • arvuti nime
  • praegust kausta
  • seda, kas oled tavaline kasutaja või kõrgemate õigustega kasutaja

Prompti täpne kuju võib olla erinev. Sellepärast on hea meeles pidada lihtsat rusikareeglit:

  • prompt on kasutajaliides
  • pwd ütleb kindlalt, kus sa päriselt oled
Terminali näide, kus kasutatakse ainult infot andvaid käske `pwd`, `ls`, `whoami` ja `date`, et vaadata rahulikult olukorda enne esimese muudatuse tegemist.
Terminali näide, kus kasutatakse ainult infot andvaid käske pwd, ls, whoami ja date, et vaadata rahulikult olukorda enne esimese muudatuse tegemist.

Selle pildi sees juhtub järgmine:

  1. prompt on tehtud lühikeseks, et käsud oleksid paremini loetavad
  2. pwd näitab praegust kausta
  3. ls näitab selle kausta nähtavat sisu
  4. whoami näitab kasutajanime
  5. date näitab süsteemi kuupäeva ja kellaaega

2. Esimesed ohutud käsud

Need neli on head esimesed käsud, sest nad ei loo ega kustuta midagi:


pwd
ls
whoami
date

Mida need teevad

  • pwd näitab praegust kausta
  • ls näitab selle kausta sisu
  • whoami näitab kasutajanime
  • date näitab süsteemi aega

Näide


pwd
ls
whoami
date

Kui sa ei tea, mida teha edasi, siis on need neli käsku peaaegu alati hea algus.

3. Kaustade vahel liikumine

Kui esimesed vaatavad käsud on tuttavad, saad hakata liikuma ühest kaustast teise.

Süntaks


cd kaust
cd ..
cd ~

Tähendus

  • cd kaust liigub kausta sisse
  • cd .. liigub ühe taseme võrra üles
  • cd ~ viib kodukataloogi

Lisaks kohtad tihti ka neid kujusid:

  • . tähendab praegust kausta
  • .. tähendab ülemkausta
  • ~ tähendab kodukataloogi

Näide


pwd
cd ..
pwd
cd ~
pwd

4. Tab aitab pikki nimesid lõpetada

Kui faili-, kausta- või käsunimi on pikk, ei pea seda alati lõpuni käsitsi kirjutama. Tavaliselt piisab sellest, et kirjutad nime alguse ja vajutad Tab.

Mida Tab teeb

  • kui vaste on üks, lõpetab shell nime tavaliselt ise ära
  • kui vasteid on mitu, lõpetab shell nime ühise osani
  • kui valikuid on mitu ja neist ei piisa eristamiseks, näitab shell sageli järgmise Tab vajutuse järel valikuid

Näide: üks sobiv nimi


mkdir pikk-kaustanimi
cd pik<Tab>
pwd

Siin juhtub tavaliselt järgmine:

  1. kirjutad cd pik
  2. vajutad Tab
  3. shell pakub ette kogu nime pikk-kaustanimi
  4. vajutad Enter ja liigud sellesse kausta

Näide: mitu sarnast nime


mkdir pildid
mkdir pildid-varu
cd pil<Tab>

Siin ei saa shell veel üht kindlat valikut teha, sest mõlemad nimed algavad samamoodi. Tavaliselt juhtub üks neist kahest:

  • shell lõpetab nime ainult ühise osani, näiteks pildid
  • või ootab uut Tab vajutust ja näitab valikuid

Praktiline rusikareegel on lihtne:

  • kirjuta nii palju nime algusest, kui tead
  • vajuta Tab
  • kui nimi ei saanud veel üheselt selgeks, kirjuta mõni järgmine täht juurde ja vajuta uuesti Tab

5. Esimene teadlik muudatus

Kui vaatavad käsud ja liikumine on juba arusaadavad, tee endale väike harjutuskaust:


mkdir proov
cd proov
pwd
ls

See on hea algus, sest:

  • kaust on sinu enda alal
  • saad seal rahulikult katsetada
  • midagi ei lähe päris projektis kogemata segi

Kui kaust proov on sul juba olemas, vali lihtsalt mõni teine nimi.

6. Kuidas abi küsida

Kui käsu mõte läheb meelest, siis kõige kindlam esimene samm on:


man ls

See avab käsu manuaali. Paljud käsud toetavad ka kujusid --help või -h.

Näited:


man ls
ls --help

Oluline on meeles pidada, et -h ei tähenda kõigis käskudes tingimata abi. Seepärast on man sageli kindlam põhireegel.

7. Käsuajalugu

Shell jätab tavaliselt käsud meelde. Kõige lihtsam kuju on:


history

Alguses piisab täiesti sellest. Kui ajalugu on veel lühike, ei ole mõtet teda kohe “viimase 20” kujule lõigata.

Kasulikud lühikujud:


!!
!25
!ls

Need tähendavad:

  • !! kordab eelmist käsku
  • !25 käivitab ajaloo kirje numbriga 25
  • !ls käivitab viimase käsu, mis algas sõnaga ls

Kasulikud lisad:

  • ülesnool toob eelmise käsu
  • allanool liigub uuema käsu poole tagasi
  • Ctrl-r otsib käsuajaloost

Kui kordad ajaloost käsku, mis midagi muudab, kontrolli see enne üle.

8. Esimesed kasulikud klahvid

Mõned klahvikombinatsioonid aitavad juba esimestel päevadel väga palju:

  • Ctrl-c katkestab parajasti töötava käsu
  • Ctrl-a liigub käsurea algusesse
  • Ctrl-e liigub käsurea lõppu
  • Ctrl-k kustutab kursori paremalt poolelt rea lõpu

Kui mõni programm tundub “kinni olevat” või kestab liiga kaua, siis on Ctrl-c esimene asi, mida proovida.

9. Vaikne käsk ei ole automaatselt vigane

Mõni käsk töötab edukalt, aga ei kuva midagi.

Näide:


vilo@macbook proov % touch tyhi.txt
vilo@macbook proov % cat tyhi.txt
vilo@macbook proov % ls -l tyhi.txt
-rw-r--r--  1 vilo  staff  0 Apr 13 09:21 tyhi.txt
vilo@macbook proov %

Siin:

  • touch tyhi.txt loob tühja faili või uuendab olemasoleva faili ajatemplit
  • cat tyhi.txt ei näita midagi, sest fail on tühi
  • ls -l tyhi.txt kinnitab, et fail on olemas

Seega uus prompt ei tähenda automaatselt viga. Mõnikord tähendab see lihtsalt, et käsul ei olnud midagi ekraanile näidata.

10. Prompt võib olla eri kujuga

Need kõik võivad olla täiesti tavalised promptid:


$ pwd
/Users/vilo/proov

vilo@macbook proov % pwd
/Users/vilo/proov

(.venv) vilo@server:~/proov$ pwd
/home/vilo/proov

Kui prompt lõpeb #, siis oled sageli kõrgemate õigustega shellis ja pead eriti hoolikalt vaatama, mida teed.

Terminali näide, kus prompt tehakse järjest lühemaks: kõigepealt on näha pikk tee, siis ainult `$` ja lõpuks lühike kuju `~/uuskaust/pildid %`.
Terminali näide, kus prompt tehakse järjest lühemaks: kõigepealt on näha pikk tee, siis ainult $ ja lõpuks lühike kuju ~/uuskaust/pildid %.

Selle pildi mõte on järgmine:

  1. esimene pwd näitab, et kasutaja asub kaustas /Users/vilo/uuskaust/pildid
  2. seejärel seatakse prompt ajutiselt väga lühikeseks kujuga $
  3. uus pwd näitab, et töökoht ei muutunud, muutus ainult see, kuidas prompt välja näeb
  4. lõpuks seatakse prompt kujule %~ %#, mis näitab lühikest rada nagu ~/uuskaust/pildid %

See on hea meeldetuletus, et prompt on ainult kuvatav liides. Tegelik asukoht tuleb endiselt käsust pwd.

10. Väike turvamärkus

Ära kopeeri terminali käsuridu pimesi lihtsalt sellepärast, et need näevad veebis või vestluses usaldusväärsed välja.

Eriti ettevaatlik tasub olla käskudega, mis:

  • tõmbavad midagi veebist
  • muudavad palju faile korraga
  • käivitavad teise käsu automaatselt

Kui sa ei saa aru, mida käsk teeb, siis peata korraks töö ja loe enne abi.

Minitest

  1. Käivita pwd, ls, whoami ja date.
  2. Liigu cd .. abil ühe taseme võrra üles ja tule cd ~ abil kodukataloogi tagasi.
  3. Loo kodukataloogi alla kaust proov ja liigu selle sisse.
  4. Käivita history.
  5. Korda eelmist käsku kujuga !!.
  6. Selgita ühe lausega, miks pwd on sageli kindlam kui prompti kuju.