Script: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Sissejuhatus=
=Sissejuhatus=
Antud leheküljel on kirjeldatud UNIX süsteemides toimiva käsurea tööriista Scripti. Kirjutise eesmärgiks on tutvustada, kuidas see käsk toimib ning mille jaoks seda kasutatakse. Tegemist on ühtlasi ka referaadiga aines Operatsioonisüsteemide administreerimine ja sidumine.


=Mis on Script?=
=Mis on Script?=
Script on selline käsurea tööriist, mis salvestab mingisse logifaili kõik terminali aknas käivitatud käsud ja nende tulemused [http://linux.about.com/library/cmd/blcmdl1_script.htm 1].  <br>


Script on käsurea tööriist, mida on võimalik kasutada UNIX või Linux süsteemides [http://linux.about.com/library/cmd/blcmdl1_script.htm 1]. Windowsi-põhistes operatsioonisüsteemides sellist käsku vaikimisi ei eksisteeri. UNIX süsteemidel tuleb script käsk kaasa muidu vaikimisi installitava paketiga util-linux [http://man7.org/linux/man-pages/man1/script.1.html 5]. Windowsisse on võimalik eraldi alla laadida näiteks MKS Toolkit, milles sisaldub sarnase funktsiooniga programm [http://www.mkssoftware.com/docs/man1/script.1.asp 6].<br>
Seda käsku on võimalik kasutada UNIX või Linux süsteemides [http://linux.about.com/library/cmd/blcmdl1_script.htm 1]. LINUX süsteemidel tuleb script käsk kaasa vaikimisi installitava paketiga util-linux [http://man7.org/linux/man-pages/man1/script.1.html 5]. Windowsi-põhistes operatsioonisüsteemides sellist käsku vaikimisi ei eksisteeri. Windowsisse on võimalik eraldi alla laadida näiteks MKS Toolkit, milles sisaldub sarnase funktsiooniga programm [http://www.mkssoftware.com/docs/man1/script.1.asp 6].<br>
<br>
Script on selline käsk, mis salvestab mingisse logifaili kõik terminali aknas käivitatud käsud ja nende tulemused [http://linux.about.com/library/cmd/blcmdl1_script.htm 1]. Scripti kohta informatsiooni leidmine internetist on suhteliselt keeruline tegevus, sest sama väljendit kasutatakse ka testsuguste tähenduste juures. Lihtsamaks muutub otsimine kui kasutada lisaks märksõnale „script“ ka märksõnu „unix“ ja „typescript“.


==Kasutusvaldkonnad==
==Kasutusvaldkonnad==
Line 11: Line 11:
Script osutub kasulikuks näiteks:<br>
Script osutub kasulikuks näiteks:<br>
<br>
<br>
Tudengitele, kes soovivad salvestada käskude järjekorra tuleviku tarbeks [http://linux.about.com/library/cmd/blcmdl1_script.htm 1].
* Tudengitele, kes soovivad salvestada käskude järjekorra tuleviku tarbeks [http://linux.about.com/library/cmd/blcmdl1_script.htm 1].
* Programmeerijatele, kes soovivad salvestada süsteemi veateateid [http://www.livefirelabs.com/unix_tip_trick_shell_script/aug_2003/08252003.htm 2].  
* Programmeerijatele, kes soovivad salvestada süsteemi veateateid [http://www.livefirelabs.com/unix_tip_trick_shell_script/aug_2003/08252003.htm 2].  
* Süsteemi administraatoritele kes tahavad salvestada näiteks mõne programmi installeerimise kulgu, et hiljem näha, kus tekkis viga või kasutada logifaili juhisena edaspidiste installide korral [http://www.livefirelabs.com/unix_tip_trick_shell_script/aug_2003/08252003.htm 2].  
* Süsteemi administraatoritele kes tahavad salvestada näiteks mõne programmi installeerimise kulgu, et hiljem näha, kus tekkis viga või kasutada logifaili juhisena edaspidiste installide korral [http://www.livefirelabs.com/unix_tip_trick_shell_script/aug_2003/08252003.htm 2].  
* Süsteemi jälgimistegevuse korral kui on mingil põhjusel tarvis salvestada logina kõik tegevus, mida terminaliaknas tehakse.
* Süsteemi jälgimistegevuse korral kui on mingil põhjusel tarvis salvestada logina kõik tegevus, mida terminaliaknas tehakse.
==Ohukohad ja märkused==
* Script töötab taustal võimaldades kasutada terminaliakent ilma piiranguteta kuni käsuni, mis lõpetab script käskluse töö[https://www.ibm.com/developerworks/community/blogs/nix/entry/the_unix_script_command_a_command_recorder2?lang=en 3].
* Kui Script käsule ei anta ette faili, kuhu salvestada, salvestatakse tegevuste logi typescript nimelisse faili [https://www.ibm.com/developerworks/community/blogs/nix/entry/the_unix_script_command_a_command_recorder2?lang=en 3].
* Kui Script käsule anda ette fail, ei tohiks mitte mingil juhul failile anda nimeks programmifailide või süsteemifailide nimesid kuna Script käsk kirjutab vaikimisi üle faili sisu ning kaotab ära eelnevalt failis olnud sisu [https://www.ibm.com/developerworks/community/blogs/nix/entry/the_unix_script_command_a_command_recorder2?lang=en 3].
* Script salvestab tihtipeale ka lisaks ekraanil olevale väljundile ka mõned klahvikombinatsioonide vajutused [http://www.livefirelabs.com/unix_tip_trick_shell_script/sept_2003/09012003.htm 4]
=Script käsu kasutamine=
==Ilma parameetriteta==
Kõige tavalisem viis scripti kasutada on:
script
exit
Kusjuures käskude script ja exit vahele jääb salvestatav osa.
<br>
<br>
Joonisel 1 on kuvatud näide sellest, kui on käivitatud script käsk, seejärel on tehtud soovitavad toimingud, mida tahetakse salvestada ning lõpetatud script käsk. Joonisel 2 on kuvatud typescript nimelise faili sisu less käsuga (selle asemel võib ka kasutada ükskõik mis muud käsklust, mis kuvab faili sisu). Faili nimi on typescript kuna erinevat failinime ei täpsustatud ning fail asub samas kaustas, kus parajasti oldi kui script käsk käivitati.
[[File:script_joonis1.png]]
Joonis 1: Script käsu käivitamine, kasutaja kala loomine ja script käsu lõpetamine.<br><br>
[[File:script_joonis2.png]]
Joonis 2: Script käsuga joonisel 1 loodud väljundifaili sisu.<br><br>
Jooniselt 2 on näha see, et script käsu väljundisse on kirjutatud kõik mis toimus pärast script käsu käivitamist, lisatud on isegi script käsu enda teated. Jooniselt 2 on näha ka see, et scriptist väljumise käsklus exit on samuti kirja pandud ning ka sellega kaasnev scripti teade.
==Etteantud väljundifailiga==
Script käsule kindla failinime andmine, kuhu väljund salvestatakse:
script fail
exit
[[File:script_joonis3.png]]
Joonis 3: Script käsu käivitamine ja väljundi suunamine faili fail, ennustus.txt faili avamine less käsuga ning script käsu lõpetamine. <br><br>
Joonisel 3 on näha seda, et lihtsalt failinime andmise korral teatab script käsklus, et mis faili salvestatakse väljund.
[[File:script_joonis4.png]]
Joonis 4: Script käsuga joonisel 3 loodud väljundifaili kuvamine.<br><br>
Joonisel 4 on näha see, et tõepoolest salvestati script käsu väljund faili nimega fail. Sellel joonisel on aga näha lisaks mõningaid muid märke, millega aknas käske sisestati. Need märgid tekivad siis kui scripti ajal mõni kasutatav käsk manipuleerib ekraanile kuvatavat. Kasutades kuvamise ajal less käsu parameetrit -r, tõlgendatakse need manipuleerivad märgid oma algsele kujule. Nii tuleb nähtavale näiteks värviline tekst.
==Lisaparameetrid==
Script käsu juures on võimalik kasutada lisaks failinimele ka muid parameetreid olenevalt olukorrast, millal neid vaja läheb. <br><br>
Parameetrid sisestatakse järgnevas järjekorras:
script [-a] [-c command] [-e] [-f] [-q] [-t[=file]] [-V] [-h] [file]
===Parameetrite lahtiseletus===
-a, --append
Väljund lisatakse etteantud faili või typescript faili sisu lõppu, jättes alles ka faili eelneva sisu [http://man7.org/linux/man-pages/man1/script.1.html 5].
-c, --command command
Käivitab ainult konkreetse käsu ning salvestab selle tulemuse faili. Ei võimalda sisestada uusi käsklusi nagu vaikimisi script käsu puhul [http://man7.org/linux/man-pages/man1/script.1.html 5].
-e, --return
Tagastab alamprotsessist väljumise koodi. Näiteks [http://unix.stackexchange.com/questions/96209/get-exit-code-of-command-executed-by-the-linux-script-command 7]:
[[File:script_joonis5.png]]
Joonis 5: Käsklus script -e annab teate, et alamprotsess väljus koodiga 127 [http://unix.stackexchange.com/questions/96209/get-exit-code-of-command-executed-by-the-linux-script-command 7].
-f --flush
Kirjutab uut infot väljundifaili reaalajas ehk iga kord kui scripti käimas olles midagi kirjutatakse, uuendatakse kohe ka väljundifaili [http://man7.org/linux/man-pages/man1/script.1.html 5].
--force
Võimaldab vaikimisi väljundifailil olla püsiv või sümboolne viide [http://man7.org/linux/man-pages/man1/script.1.html 5].
-q, --quiet
Tagasisidet ei anta [http://man7.org/linux/man-pages/man1/script.1.html 5].
-t, --timing[=file]
Väljastab ajastused kas tavapärasesse vigade väljundisse või etteantud faili. Annab informatsiooni selle kohta, kui palju on aega möödunud eelmisest sisestusest ning kui palju märke väljastati pärast antud sisestust. Võimaldab reaalajas skripti ette mängida justkui lindistusena näiteks scriptreplay käsuga [http://man7.org/linux/man-pages/man1/script.1.html 5].
-V, --version
Kuvab programmi versiooniteabe [http://man7.org/linux/man-pages/man1/script.1.html 5].
-h, --help
Kuvab lühiülevaate script käsu parameetritest [http://man7.org/linux/man-pages/man1/script.1.html 5].
=Kokkuvõte=
Scripti kohta informatsiooni leidmine internetist on suhteliselt keeruline tegevus, sest sama väljendit kasutatakse ka testsuguste tähenduste juures. Lihtsamaks muutub otsimine kui kasutada lisaks märksõnale „script“ ka märksõnu „unix“ ja „typescript“. Script tundub olevat üpriski lihtne käsklus, millel ei ole küll väga palju erinevaid kasutusvõimalusi, aga kindlasti mingites olukorras osutub see käsk kasulikuks küll.


=Kasutatud kirjandus=
=Kasutatud kirjandus=

Latest revision as of 12:27, 10 January 2014

Sissejuhatus

Antud leheküljel on kirjeldatud UNIX süsteemides toimiva käsurea tööriista Scripti. Kirjutise eesmärgiks on tutvustada, kuidas see käsk toimib ning mille jaoks seda kasutatakse. Tegemist on ühtlasi ka referaadiga aines Operatsioonisüsteemide administreerimine ja sidumine.

Mis on Script?

Script on selline käsurea tööriist, mis salvestab mingisse logifaili kõik terminali aknas käivitatud käsud ja nende tulemused 1.

Seda käsku on võimalik kasutada UNIX või Linux süsteemides 1. LINUX süsteemidel tuleb script käsk kaasa vaikimisi installitava paketiga util-linux 5. Windowsi-põhistes operatsioonisüsteemides sellist käsku vaikimisi ei eksisteeri. Windowsisse on võimalik eraldi alla laadida näiteks MKS Toolkit, milles sisaldub sarnase funktsiooniga programm 6.

Kasutusvaldkonnad

Script osutub kasulikuks näiteks:

  • Tudengitele, kes soovivad salvestada käskude järjekorra tuleviku tarbeks 1.
  • Programmeerijatele, kes soovivad salvestada süsteemi veateateid 2.
  • Süsteemi administraatoritele kes tahavad salvestada näiteks mõne programmi installeerimise kulgu, et hiljem näha, kus tekkis viga või kasutada logifaili juhisena edaspidiste installide korral 2.
  • Süsteemi jälgimistegevuse korral kui on mingil põhjusel tarvis salvestada logina kõik tegevus, mida terminaliaknas tehakse.

Ohukohad ja märkused

  • Script töötab taustal võimaldades kasutada terminaliakent ilma piiranguteta kuni käsuni, mis lõpetab script käskluse töö3.
  • Kui Script käsule ei anta ette faili, kuhu salvestada, salvestatakse tegevuste logi typescript nimelisse faili 3.
  • Kui Script käsule anda ette fail, ei tohiks mitte mingil juhul failile anda nimeks programmifailide või süsteemifailide nimesid kuna Script käsk kirjutab vaikimisi üle faili sisu ning kaotab ära eelnevalt failis olnud sisu 3.
  • Script salvestab tihtipeale ka lisaks ekraanil olevale väljundile ka mõned klahvikombinatsioonide vajutused 4

Script käsu kasutamine

Ilma parameetriteta

Kõige tavalisem viis scripti kasutada on:

script
exit

Kusjuures käskude script ja exit vahele jääb salvestatav osa.

Joonisel 1 on kuvatud näide sellest, kui on käivitatud script käsk, seejärel on tehtud soovitavad toimingud, mida tahetakse salvestada ning lõpetatud script käsk. Joonisel 2 on kuvatud typescript nimelise faili sisu less käsuga (selle asemel võib ka kasutada ükskõik mis muud käsklust, mis kuvab faili sisu). Faili nimi on typescript kuna erinevat failinime ei täpsustatud ning fail asub samas kaustas, kus parajasti oldi kui script käsk käivitati.

Joonis 1: Script käsu käivitamine, kasutaja kala loomine ja script käsu lõpetamine.

Joonis 2: Script käsuga joonisel 1 loodud väljundifaili sisu.

Jooniselt 2 on näha see, et script käsu väljundisse on kirjutatud kõik mis toimus pärast script käsu käivitamist, lisatud on isegi script käsu enda teated. Jooniselt 2 on näha ka see, et scriptist väljumise käsklus exit on samuti kirja pandud ning ka sellega kaasnev scripti teade.

Etteantud väljundifailiga

Script käsule kindla failinime andmine, kuhu väljund salvestatakse:

script fail
exit

Joonis 3: Script käsu käivitamine ja väljundi suunamine faili fail, ennustus.txt faili avamine less käsuga ning script käsu lõpetamine.

Joonisel 3 on näha seda, et lihtsalt failinime andmise korral teatab script käsklus, et mis faili salvestatakse väljund.

Joonis 4: Script käsuga joonisel 3 loodud väljundifaili kuvamine.

Joonisel 4 on näha see, et tõepoolest salvestati script käsu väljund faili nimega fail. Sellel joonisel on aga näha lisaks mõningaid muid märke, millega aknas käske sisestati. Need märgid tekivad siis kui scripti ajal mõni kasutatav käsk manipuleerib ekraanile kuvatavat. Kasutades kuvamise ajal less käsu parameetrit -r, tõlgendatakse need manipuleerivad märgid oma algsele kujule. Nii tuleb nähtavale näiteks värviline tekst.

Lisaparameetrid

Script käsu juures on võimalik kasutada lisaks failinimele ka muid parameetreid olenevalt olukorrast, millal neid vaja läheb.

Parameetrid sisestatakse järgnevas järjekorras:

script [-a] [-c command] [-e] [-f] [-q] [-t[=file]] [-V] [-h] [file]

Parameetrite lahtiseletus

-a, --append

Väljund lisatakse etteantud faili või typescript faili sisu lõppu, jättes alles ka faili eelneva sisu 5.

-c, --command command

Käivitab ainult konkreetse käsu ning salvestab selle tulemuse faili. Ei võimalda sisestada uusi käsklusi nagu vaikimisi script käsu puhul 5.

-e, --return

Tagastab alamprotsessist väljumise koodi. Näiteks 7:

Joonis 5: Käsklus script -e annab teate, et alamprotsess väljus koodiga 127 7.

-f --flush

Kirjutab uut infot väljundifaili reaalajas ehk iga kord kui scripti käimas olles midagi kirjutatakse, uuendatakse kohe ka väljundifaili 5.

--force

Võimaldab vaikimisi väljundifailil olla püsiv või sümboolne viide 5.

-q, --quiet

Tagasisidet ei anta 5.

-t, --timing[=file]

Väljastab ajastused kas tavapärasesse vigade väljundisse või etteantud faili. Annab informatsiooni selle kohta, kui palju on aega möödunud eelmisest sisestusest ning kui palju märke väljastati pärast antud sisestust. Võimaldab reaalajas skripti ette mängida justkui lindistusena näiteks scriptreplay käsuga 5.

-V, --version

Kuvab programmi versiooniteabe 5.

-h, --help

Kuvab lühiülevaate script käsu parameetritest 5.

Kokkuvõte

Scripti kohta informatsiooni leidmine internetist on suhteliselt keeruline tegevus, sest sama väljendit kasutatakse ka testsuguste tähenduste juures. Lihtsamaks muutub otsimine kui kasutada lisaks märksõnale „script“ ka märksõnu „unix“ ja „typescript“. Script tundub olevat üpriski lihtne käsklus, millel ei ole küll väga palju erinevaid kasutusvõimalusi, aga kindlasti mingites olukorras osutub see käsk kasulikuks küll.

Kasutatud kirjandus

[1] Linux / Unix Command: script
[2] Capturing a Session's Input and Output - The UNIX script Command - Part I
[3] The Unix "SCRIPT" command : a command recorder
[4] Capturing a Session's Input and Output - The UNIX script Command - Part II
[5] Script(1) - Linux manual page
[6] Script -- make typescript of terminal session
[7] Get exit code of command executed by the linux script command

Autor

Autor: Janne Pakkonen
Rühm: AK21
Semester: 2013 sügis