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
pwdnäitab praegust kaustalsnäitab kausta sisumkdirloob kaustacdliigub kausta sisseecho ... > failkirjutab faili esimese reaecho ... >> faillisab faili lõppu järgmise reacat failnäitab faili sisuwc -l failloeb riducp allikas sihtteeb 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:
pwdjalskontrollisid alguskohtamkdir proovjamkdir esimene-harjutuslõid eraldi töökaustadcdliikus õigesse kohtaecho ... > sonad.txtlõi faili ja kirjutas sinna esimese reaecho ... >> sonad.txtlisas järgmised read olemasoleva faili lõppucat sonad.txtnäitas faili sisuwc -l sonad.txtluges kokku, mitu rida failis oncp sonad.txt koopia.txttegi failist koopia- viimane
cat koopia.txtkinnitas, 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:
- Teksti otsimine: grep ja sugulased
- Teksti teisendamine: tr, cut, paste, column, strings
- Vood ja tabelid: sort, uniq, wc, pr, join
Kui see tundus veel liiga kiire
Siis tasub minna tagasi ja lugeda aeglasemalt:
- Terminali esimesed sammud
- Abi leidmine: man, --help ja info
- Kataloogid ja failid
- Sisend, väljund, torud ja suunamine
Minitest
- Tee kaust
teine-harjutus. - Loo sinna fail
read.txtkolme reaga. - Kontrolli käsuga
cat, kas kõik read on olemas. - Kontrolli käsuga
wc -l, kas failis on kolm rida. - Tee failist koopia nimega
read-koopia.txt. - Muuda koopiat nii, et lisad sinna ühe rea juurde käsuga
>>.