Script: Difference between revisions
(21 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=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 [http://linux.about.com/library/cmd/blcmdl1_script.htm 1]. <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> | |||
==Kasutusvaldkonnad== | |||
Script osutub kasulikuks näiteks:<br> | |||
<br> | |||
* 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]. | |||
* 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. | |||
==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= | ||
Line 7: | Line 124: | ||
[5] [http://man7.org/linux/man-pages/man1/script.1.html Script(1) - Linux manual page]<br> | [5] [http://man7.org/linux/man-pages/man1/script.1.html Script(1) - Linux manual page]<br> | ||
[6] [http://www.mkssoftware.com/docs/man1/script.1.asp Script -- make typescript of terminal session]<br> | [6] [http://www.mkssoftware.com/docs/man1/script.1.asp Script -- make typescript of terminal session]<br> | ||
[7] [http://unix.stackexchange.com/questions/96209/get-exit-code-of-command-executed-by-the-linux-script-command]<br> | [7] [http://unix.stackexchange.com/questions/96209/get-exit-code-of-command-executed-by-the-linux-script-command Get exit code of command executed by the linux script command]<br> | ||
=Autor= | =Autor= | ||
Janne Pakkonen AK21 | Autor: Janne Pakkonen<br> | ||
Rühm: AK21<br> | |||
Semester: 2013 sügis<br> | |||
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]] | [[Category:Operatsioonisüsteemide administreerimine ja sidumine]] |
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