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 Esimene tervikharjutus: 30 minutit, mis kuulub osasse Osa I: Esimesed sammud.

Esimene tervikharjutus: 30 minutit

See peatükk ei ole enam täiesti esimene kokkupuude käsureaga. Mõte on teine: kui oled läbi vaadanud peatükid terminali põhimõtetest, failidest, abi leidmisest ja suunamisest, siis siin teed ühe lühikese tervikharjutuse algusest lõpuni läbi.

Loogika

Selle harjutuse eesmärk on siduda kokku mõned juba tuttavad mõtted:

  • vaata enne, kus sa oled
  • tööta eraldi harjutuskaustas
  • kirjuta faili sisu väikeste sammudena
  • kontrolli tulemust iga muudatuse järel

See on hea koht, kus harjutada käsurida ilma, et peaks veel korraga õppima uusi sümboleid või täiesti uusi käske.

Enne alustamist

Kui mõni käsk on meelest läinud, siis peata korraks töö ja vaata abi:


man pwd
man ls
man cat

Paljud käsud toetavad ka kujusid --help või -h, aga see ei ole kõigis süsteemides ühtlane. Kõige kindlam algus on tavaliselt man.

Kiirspikker

  • pwd näitab praegust kausta
  • ls näitab kausta sisu
  • mkdir loob kausta
  • cd liigub kausta sisse
  • echo ... > fail kirjutab faili esimese rea
  • echo ... >> fail lisab faili lõppu järgmise rea
  • cat fail näitab faili sisu
  • wc -l fail loeb ridu
  • cp allikas siht teeb koopia

Harjutus

Tee see plokk rahulikult algusest lõpuni läbi:


pwd
ls
mkdir proov
cd proov
mkdir esimene-harjutus
cd esimene-harjutus
echo tere > sonad.txt
echo maailm >> sonad.txt
echo linux >> sonad.txt
ls
cat sonad.txt
wc -l sonad.txt
cp sonad.txt koopia.txt
ls
cat koopia.txt

Mida siin tehti

Harjutuses juhtus samm-sammult järgmine:

  1. pwd ja ls kontrollisid alguskohta
  2. mkdir proov ja mkdir esimene-harjutus lõid eraldi töökaustad
  3. cd liikus õigesse kohta
  4. echo ... > sonad.txt lõi faili ja kirjutas sinna esimese rea
  5. echo ... >> sonad.txt lisas järgmised read olemasoleva faili lõppu
  6. cat sonad.txt näitas faili sisu
  7. wc -l sonad.txt luges kokku, mitu rida failis on
  8. cp sonad.txt koopia.txt tegi failist koopia
  9. viimane cat koopia.txt kinnitas, et koopia sisaldab sama teksti

Just selline tööviis on käsureal väga tavaline: tee väike samm ja kontrolli tulemust kohe.

> ja >> vahe

Selles harjutuses on kaks väga tähtsat märki:

  • > kirjutab faili uue sisu ja kirjutab vana sisu üle
  • >> lisab uue rea olemasoleva faili lõppu

Näiteks:


echo esimene > naide.txt
echo teine >> naide.txt
cat naide.txt

Tulemus on:


esimene
teine

Kui teha viimane rida kujul echo teine > naide.txt, siis vana sisu kirjutataks üle.

Väike turvamärkus

Terminalis ei tasu kunagi lihtsalt kopeerida ja käivitada käsku, mille mõtet sa ei mõista.

Eriti ettevaatlik tasub olla käskudega, mis:

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

Kui jääd kahtlema, peata ja loe enne abi või küsi üle. Käsurida on võimas just sellepärast, et ta teeb täpselt seda, mida sa käsid.

Kui käsk jääb “rippuma”

Kui mõni programm jääb pikalt tööle ja sa tahad selle peatada, siis esimene tavaline pääsetee on:


Ctrl-c

See ei ole iga juhtumi jaoks lahendus, aga alguses on see kõige tähtsam katkestusklahv.

Kui see tundus arusaadav

Pärast seda harjutust on hea jätkata selles järjekorras:

  1. Teksti otsimine: grep ja sugulased
  2. Teksti teisendamine: tr, cut, paste, column, strings
  3. Vood ja tabelid: sort, uniq, wc, pr, join

Kui see tundus veel liiga kiire

Siis tasub minna tagasi ja lugeda aeglasemalt:

  1. Terminali esimesed sammud
  2. Abi leidmine: man, --help ja info
  3. Kataloogid ja failid
  4. Sisend, väljund, torud ja suunamine

Minitest

  1. Tee kaust teine-harjutus.
  2. Loo sinna fail read.txt kolme reaga.
  3. Kontrolli käsuga cat, kas kõik read on olemas.
  4. Kontrolli käsuga wc -l, kas failis on kolm rida.
  5. Tee failist koopia nimega read-koopia.txt.
  6. Muuda koopiat nii, et lisad sinna ühe rea juurde käsuga >>.