Igale arvutile on töötamiseks paigaldatud operatsioonisüsteem (näiteks MS Windows, Ubuntu, Debian jne). See annab kasutajale võimaluse arvutit juhtida nii graafiliselt (GUI, Graphical User Interface) kui käsureaga (CLI, Command Line Interface või Command Language Interpreter). Kõigile meeldib graafiline liides, sest see on kasutajasõbralik ja intuitiivne – näiteks lihtsalt osuta hiirega ja kliki. Käsurealiidese puhul tuleb aga käske ise teada ja neid sisestada. Selle puhul on suuremaks eeliseks see, et pole vaja mahukat programmi mõne lihtsa käsu teostamiseks. Käsurida kasutades võtab see arvutilt vähem mälu ja on kiirem. Miks oleks vaja seda õppida, kui see tundub juba alguses keerulisem? Tavakasutajal võib-olla polegi vaja. Need, kes tahavad arvuti hingeelu paremini tundma õppida ei ole sellest pääsu. Paljudel juhtudel polegi süsteemidele muud võimalust ligi pääseda kui läbi käsurea.
Selles postituses teemegi algust MS Windows operatsioonisüsteemi käsuinterpretaatoriga Command Prompt. Linuxi ja MacOS kasutajate puhul oleks see vastavalt Bash (Bourne-Again SHell) ja Terminal. Kui ühte neist oskad, siis pole teisele üleminek väga raske.
Käsurealiidese käivitamine
Käsurealiidese käivitamine arvutis võib sõltuda Windowsi versioonist ja kasutatavast klaviatuurist. Kui neist üks töötab, siis ei pea kõiki läbi proovima.
- Kliki Start nupul ja sisesta otsingusse Command Prompt või cmd. Osuta hiirega programmi nimel või vajuta Enter.
- Kliki Start>Windows System>Command Prompt
- Vajuta klaviatuuril Win+R, sisesta “cmd” ja vajuta Enter
Käsuviip
Command Prompt käivitamisel peaksid vaikimisi nägema valget kirja mustal taustal.
Pärast lühikest programmi infot näed rida, mis näitab, millises kodukataloogis sa vaikimisi oled. Minu puhul on c:\Users\metsh
.
Ja selle järgi näed kohe >
märki. Kogu seda rida nimetatakse käsuviibaks (prompt), mille järele saad oma käsud lisada. Lisame näiteks whoami
(Who Am I – “kes ma olen”).
Nüüd oled andnud oma esimese käsu operatsioonisüsteemile läbikäsurea, et teada saada oma arvuti ja kasutanimi. Ja äkki nii lihtne see ongi? :)
Enne kui jätkame, siis mõningad vihjed käskude kirjutamiseks:
- käsud ei ole tõstutundlikud (suurtel ja väikestel tähtedel vahet ei tehta)
- kui faili või kataloogi nimi sisaldab tühikut, siis pane see jutumärkide vahele. Näiteks
"My Documents"
- failide ja kataloogide nimetamisel väldi täpitähti ja erimärke
- käsurealt kustutades ei lisata faile prügikasti, vaid kustutatakse jäädavalt
- parim abi on küll googeldamine aga programmi sees on võimalik käsu järele lisada
/?
märgid. Näiteksdir /?
- Kui käsk jääb tööle või on “kokku jooksnud”, siis
Ctrl+C
katkestab tegevuse
Windows failisüsteem
Failisüsteem määrab kuidas on kataloogid (directory) ja failid (file) organiseeritud. Failisüsteem vastutab ka failide salvestamise, kustutamise, ümbernimetamise ja õiguste eest. Hetkel kasutuses olevad failisüsteemid on näiteks NTFS (Windows) ja ext4 (Linux). Failide ja kataloogide paiknemist kuvatakse hierarhilise kataloogipuuna. Kataloogipuus kõige aluseks on juurtaloog (root directory) ja selle alla kuuluvad alamkataloogid (subdirectories). Windowsi puhul tähistatakse failisüsteemid tähtedega, näiteks A:, C:, D:
jne. (Linuxi puhul on selleks /
(kaldkriips)).
Kataloogi kõrgema taseme kataloogi nimetatakse ülemkataloogiks (parent directory), mida tähistatakse ..
(kahe punktiga). Kataloog, kus “sees” hetkel ollakse, nimetatakse jooksvaks kataloogiks (current directory) ja tähistuseks .
(üks punkt). Viidet faili või kastaloogi asukohale nimetatakse teeks (path). Tee alates ketta juurkataloogist nimetatakse absoluutteeks C:\Users\metsh\Desktop\kataloog
ja jooksvast kataloogist relatiivseks teeks ..\alamkataloog1\alamalamkataloog
. Graafilises osas leiad tee kataloogini aadressiribalt. Selle nägemiseks pead sellel real klikkima.
Ülesanne 1
Loo harjutamiseks oma töölauale kataloogid vastavalt pildile.
- Kataloogi loomiseks tee töölaual parem klikk ja vali Uus>Kataloog (New>Folder). Anna kataloogile nimi ja vajuta Enter.
- Faili loomiseks ava soovitud kataloog ja tee parem klikk ja vali Uus>Tekstidokument (New>Text Document). Ja vajuta Enter
- Kui ei saanud tulemust soovitud nimega, siis tee failile või kataloogil parem klikk ja vali Nimeta ümber (Rename)
- Kui kolm faili on valmis, siis kopeeri need teistesse kataloogidesse (selekteeri>parem klikk Kopeeri (Copy)>sihtkohta parem klikk Kleebi (Paste))
- Arvatavasti on sul faililaiendid peidus. Seega ava mõni oma kataloog ja vali menüüst Vaade>Peidetud üksused (View>Hidden item)
Käsurea kasutamine
Vaatame lähemalt, kuidas on kasuread ülesehitatud. Iga käsk koosneb reeglina kolmest osast:
käsunimi /lipud parameetrid
- käsunimi (
commands
) on käsu kirjeldus, mida soovid tegema hakata. Näitekscd, dir, copy
jne. - lippude (
switches
) abil täpsustad käsu tähendust. Lipud algavad/
kaldkriipsuga (sõltuval käsust või operatsioonisüsteemist mõni kord-
või--
) - parameetrite abil annad teada, millel soovid käsku anda
Täpsemalt, kuidas mõnda käsku kasutada, on kirjas abifailis. Sisesta näiteks copy /?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | Copies one or more files to another location. COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B] [+ source [/A | /B] [+ ...]] [destination [/A | /B]] source Specifies the file or files to be copied. /A Indicates an ASCII text file. /B Indicates a binary file. /D Allow the destination file to be created decrypted destination Specifies the directory and/or filename for the new file(s). /V Verifies that new files are written correctly. /N Uses short filename, if available, when copying a file with a non-8dot3 name. /Y Suppresses prompting to confirm you want to overwrite an existing destination file. /-Y Causes prompting to confirm you want to overwrite an existing destination file. /Z Copies networked files in restartable mode. /L If the source is a symbolic link, copy the link to the target instead of the actual file the source link points to. The switch /Y may be preset in the COPYCMD environment variable. This may be overridden with /-Y on the command line. Default is to prompt on overwrites unless COPY command is being executed from within a batch script. To append files, specify a single file for destination, but multiple files for source (using wildcards or file1+file2+file3 format). |
Esimene osa annab teada, mida see käsk tegema peab. Sellele järgneb juhis, kuidas käsku kasutada. Tähele tuleb panna, kuidas on need kirja pandud:
- kõik, mis on ilma nurksulgudeta, on kohustuslikud. Ehk
source
on kohustuslik - nurksulgudega
[/A]
märgitud avaldised on valikulised - kui nurksulgude vahel on püstkriips
[/A|/B]
, siis tuleb valida üks või teine. Mõlemat ei saa!
Pärast lippude ja atribuututide kirjeldust leiame vihje mitme faili kopeerimiseks, kasutades wildcard
’i
Ülesanne 2
Eesmärk kasutada käsku ping
ning abifaili abil kasutada erinevaid lippusid. ping
käsk võimaldab kontrollida IP põhises võrgus, kas mingi aadress on kättesaadav.
- pingi aadressi 8.8.8.8
Töötab? Mitu paketi saatmist ja vastuvõtmist toimus? - ping aadressi
www.eesti.ee
Töötab? Mitu paketi saatmist ja va stuvõtmist toimus? - kasuta abifaili, et leida kuidas pingida aadressi
8.8.8.8
lõpmatult
Kuidas käsk katkestada? - kasuta abifaili, et tõlgiks IP-aadressi domeeninimeks
Mis on 8.8.8.8 domeeninimi?
Käsud töötamiseks kataloogide ja failidega
DIR
– kuvab alamkataloogid ja failidDIR [ketas:] [rada]
A:H
– kuvab kindlat tüüpi atribuudid. Näiteks peidetud H. Miinus märk tähise eest välistab selle näitamise/P
– kuvatakse korraga ekraanitäis ridu. Klahvile vajutamine näitab järgmist lehekülge jne/Q
– näitab omanikku/O:D
– sorteerib millegi järgi. Näiteks kuupäeva järgi. Miinus märk sorteerib vastupidi
CLS
– puhastab ekraaniTREE
– kuvab kataloogid hierarhilise vaatenaTREE /F
– kuvab nii kataloogid kui ka failid hierarhilise vaatena
CD
– (Change Directory) võimaldab liikuda kataloogide vahel. Ilma parameetriteta kuva aktiivse kataloogi rajaCD [kataloog]
– liigub edasi järgmisse kataloogiCD ..
– liigub eelmisse kataloogi (parent)CD [rada]
– liigub osutatud kataloogi. Näitekscd c:\Users\metsh
MKDIR [katalooginimi]
– loob aktiivsesse kataloogi või vastavalt rajale uue kataloogiRMDIR [katalooginimi]
– kustutab kataloogi. Kui see pole tühi, siis vaikimisi ei kustutata/S
– kustutatakse koos sisuga. Küsitakse enne kinnitustY/N
COPY [allikas] [sihtkoht]
– failide kopeerimine või ühendamine. Kui fail eksisteerib, siis küsitakse kinnitust. Kui kasutad faili nimes tühikuid, siis kasuta jutumärkecopy fail1.txt uus.txt
– teeb failist koopia ja salvestab uue nimegacopy fail1.txt+fail2.txt "minu uus fail.txt"
– liidab failide sisu kokku ja kopeerib uude faili
XCOPY
– peaaegu sama mis tavalineCOPY
, aga võimaldab rohkem valikuidMOVE
– liigutab faile/katalooge ühest kohast teise või kasutad ümbernimetamiseksmove uus.txt ..\alamkataloog1
– liigutab faili soovitud kataloogimove test testuus
– muudab kataloogi nime
Ülesanne 3
Eesmärk töötada käsureaabil kataloogide ja failidega. Kasutame Ülesandes 1 loodud faile ja katalooge.
- liigu oma loodud kataloogi “kataloog” (
CD
) - liigu edasi sihtkohta “alamkakataloog1\alamalamkataloog”
- kuva kataloogi sisu (
DIR, TREE
) - kuva kataloogi sisu nii, et oleks näha selle looja
- liigu tagasi “alamkataloogi1” kausta (
CD
) - loo uus kataloog “alamalamkataloog2” (
MKDIR
) - kopeeri “fail3.txt alamalamkataloog1” asukohast “alamalamkataloog2” kausta (
COPY
) - kustuta “alamkataloog3” koos sisuga (
RMDIR
)
Metamärkide kasutamine
Eelnevalt jätsin mainimata, et DIR
abil on võimalik ka faile ja katalooge otsida. Näiteks dir fail3.txt /s
, kus otsitakse selle nimelist faili ning /s
lubab otsida ka alamkataloogidest. Hetkel pead väga täpselt teadma, mida otsid. Kui aga tahad otsida ainult TXT-faile või leida mõnda kindlat sõna, siis tulevad appi metamärgid (wildcards).
Käsurida võimaldab meil kasutada kahte metamärki. *
tärn ja ?
küsimärk. *
tähistab mistahes märgijada 0 ja rohkem. Näiteks soovin leida kõik TXT-failid, siis kirjutan
dir *.txt /s
Näiteks kuva kõik, kus sees on punkt
dir *.* /s
Kui soovid määrata ainult ühte märki, siis kasuta ?
küsimärki. Leiame kõik failid, mille sõna järgi tuleb veel üks märk.
dir fail?.txt /s
Samad metamärgid töötavad ka teiste märkude puhul. Näiteks COPY
, DEL
, MOVE
jne.
Ülesanne 4
Selle ülesande eesmärk on kasutada käskude andmisel metamärke. Kasutame sama juba eelnevalt loodud katalooge ja faile.
- leia kõikidest kataloogidest failid, mis algavad sõnaga “fail”
- leia kõik kataloogid, mis sisaldavad sõna “alam”
- loo töölauale uus kataloog “backup”
- leia üles kõik TXT failid ja kopeeri kataloogi “backup” (korraga) (
XCOPY
) - kustuta kõik failid kataloogist “backup”, mis sisaldavad numbrit 3
Sisendi suunamine väljundisse
Hetkel oleme väljastanud kõik käsu tulemused otse konsooliaknasse. Kui oleks vaja tulemusi kuidagi salvestada, siis on seda võimalik teha tekstifaili.
- > suunab sisendi tekstifaili. Kui faili pole, siis loob selle. Kui sisu on olemas, siis kirjutab selle üle.
- >> lisab sisendi tekstifaili juurde.
Näiteks systeminfo > info.txt
Konsooliaken nüüd tulemust ei näita ja koguinfo on tekstifailis.
Kasutame ECHO
käsku, et luua tekst ja lisame selle faili lõppu.
echo mario metshein >> info.txt
Tekstifailide sisu saab vaadata ka samas konsooliaknas. Kasuta selleks TYPE
käsku.
type info.txt
Ja peaksid nägema oma viimati lisatud teksti.
Kui on vaja mitu sisendit ühte lausesse/käsku panna, siis kasuta &
-märki.
tree /f /a > test.txt & echo suvaline lause >> test.txt
Ülesanne 5
Eesmärk tekstifaili kirjutamine käsurea abil
- Lisa oma nimi tekstifaili ylesanne05.txt
- Lisa tekstifaili juurde üheaegselt kuupäev ja kellaaeg (DATE /T, TIME /T)
- Lisa harjutuses 1 failipuu tekstifaili juurde (kui tekstifaili salvestatakse imelikke sümboleid, siis kasuta lippu
/A
) - kontrolli käsurea abil, kas kõik asjad said kirja (vaata konsoolis faili sisu)
Võrgukäsud – ülesanne 6
Lisaks populaarsele PING
käsule on võrguga seotud veel erinevaid kasulikke käske. Kasuta Google otsingumootorit ja/või käsurea enda abi /?
ning leia mida iga käsk teeb ning too välja üks töötav näide.
IPCONFIG
TRACERT
GETMAC
NETSTAT
Käsufailide koostamine
Käsurea käskusid on võimalik kirja panna tekstifaili ning ning käivitada automaatselt korraga. Loodud käsufail (batch file) tuleb salvestada .bat
või .cmd
formaadis. Ava Notepad ja kirjuta see skript
1 2 3 4 5 6 7 8 9 10 11 12 | :: See on meie esimene skript @ECHO OFF echo **************** IP **************** ipconfig | findstr /c:"IPv4" echo: echo **************** PING **************** ping metshein.com echo: echo **************** TRACERT **************** tracert www.hkhk.edu.ee PAUSE |
Ja vali salvestamisel õige faililaiend.
Leia oma fail ja tee sellel topeltklikk ning peaksid nägema mingit tegevust
Vaatame koodi lähemalt:
:: See on meie esimene skript
Tegemist on kommentaariga (hakkab::
) , mida süsteem ei käivita. Hea võimalus kirjutada autori nimi, mida skript teeb või jätta teade tehtud muudatustest@ECHO OFF
Ei kuva käsku konsooliaknasecho **************** IP ****************
Nagu eespool vaatasime, siisecho
kuvab sinu valitud teksti
echo:
väljastab tühja reaipconfig | findstr /c:"IPv4"
See käsk algab “tavaliselt”. Juures on paar uut asja:- siin on kasutatud “toru” | (pipe), mis lubab ühe käsu väljundit saata teise käsu sisendisse
findstr
aitab leida teksti ja lipp/c:
aitab leida sõnasõnalist vastet
PAUSE
Jätab konsooliakna pausile, et saaksid lugeda tulemusi.
Ülesanne 7
Loo käsufail, mis sisaldab:
- kommentaar sinu nimega
- lisa iga käsu ette tekst/pealkiri, et mida antud käsk väljastab
- kasuta käsku
systeminfo
ja kuva sealt operatsioonisüsteemi nimetus (OS Name) - kasuta käsku
systeminfo
ja kuva sealt lisatud mälu maht (Total Physical Memory) - kasuta käsku
ipconfig
ja kuva IPv4 aadress
- kasuta käsku
- lisa lõppu paus, et näha tulemust
- salvesta õige faililaiendiga (
bat
võicmd
)
Mis edasi? Käsureal on veel võimalusi, millega edasi töötada. Agas siinkohal võiks pilgud pöörata suuremate võimalustega skriptimisele Microsoft PowerShellis.
0 responses on "Windows käsurida"