Hvernig á að taka upp og endurspila Linux Terminal Sessions með því að nota script og scriptreplay skipanir


Í þessari handbók ætlum við að skoða hvernig á að nota handrit og scriptreplay skipanir í Linux sem geta hjálpað þér að taka upp skipanir og úttak þeirra prentað á flugstöðinni þinni á tiltekinni lotu.

Saga skipunin er frábær skipanalínutól sem hjálpar notendum að geyma fyrri skipun sem notuð var, þó hún geymir ekki úttak skipunar.

Þess vegna kemur skriftuskipunin sér vel til að veita þér öfluga virkni sem hjálpar þér að skrá allt sem er prentað á flugstöðinni þinni í log_file. Þú getur síðan vísað í þessa skrá síðar ef þú vilt skoða úttak skipunar í sögu úr log_file.

Þú getur líka spilað aftur skipanir sem þú skráðir með scriptreplay skipuninni með því að nota tímasetningarupplýsingar.

Hvernig á að taka upp Linux Terminal með script Command

Forskriftarskipunin geymir flugstöðvavirkni í annálaskrá sem notandi getur nefnt, þegar nafn er ekki gefið upp af notanda er sjálfgefið skráarheiti, leturrit notað.

# script [options] - -timing=timing_file log_filename

Til að hefja upptöku á Linux flugstöðinni skaltu slá inn skriftu og bæta við skráarheitinu eins og sýnt er.

[email  ~ $ script history_log.txt

Script started, file is history_log.txt

Til að stöðva skriftu, sláðu inn exit og ýttu á [Enter].

[email  ~ $ exit

Script done, file is history_log.txt

Ef handritið getur ekki skrifað í nafngreinda annálsskrá þá sýnir það villu.

Til dæmis, í úttakinu hér að neðan, leyfa heimildir skráargerðarinnar ekki lestur, ritun og framkvæmd skráarinnar, ekki af neinum notanda eða hópi. Þegar þú keyrir handritsskipunina án nafns á skráarskrá, reynir það að skrifa í sjálfgefna skrána, vélritaskrá sýnir þar af leiðandi villu.

[email  ~ $ ls -l typescript

--------- 1 ubuntu ubuntu 144 Sep 15 00:00 typescript

[email  ~ $ script

script: open failed: typescript: Permission denied
Terminated

Ég hef nefnt notendaskrána mína script.log í dæminu hér að neðan, þú getur gefið skránni þinni annað nafn.

[email  ~ $ script script.log

Reyndu nú að framkvæma nokkrar skipanir til að leyfa skriftu að taka upp framkvæmdar skipanir á flugstöðinni.

[email  ~ $ cal

   September 2015     
Su Mo Tu We Th Fr Sa  
       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 30           
                      
[email  ~ $ w

 14:49:40 up  4:06,  2 users,  load average: 1.37, 1.56, 1.62
USER     TTY      FROM             [email    IDLE   JCPU   PCPU WHAT
tecmint  tty8     :0               10:45    4:06m  7:40   0.36s x-session-manager
tecmint  pts/5    :0               13:42    4.00s  0.07s  0.00s script script.log

[email  ~ $ uptime

 14:49:43 up  4:06,  2 users,  load average: 1.37, 1.56, 1.62

[email  ~ $ whoami

tecmint

[email  ~ $ echo 'using script'

using script
[email  ~ $ exit
exit
Script done, file is script.log

Reyndu nú að skoða annálaskrána 'script.log' fyrir allar skráðar skipanir, á meðan þú skoðar skrána áttarðu þig á því að handritið geymir einnig línustrauma og bakhlið.

[email  ~ $ vi script.log
^[[0m^[[255D^[[01;[email ^[[01;34m ~ $^[[00m cal^M
   September 2015     ^M
Su Mo Tu We Th Fr Sa  ^M
       1  2  3  4  5  ^M
 6  7  8  9 10 11 12  ^M
13 14 15 ^[[7m16^[[27m 17 18 19  ^M
20 21 22 23 24 25 26  ^M
27 28 29 30           ^M
                      ^M
^[[01;[email ^[[01;34m ~ $^[[00m w^M
 14:49:40 up  4:06,  2 users,  load average: 1.37, 1.56, 1.62^M
USER     TTY      FROM             [email    IDLE   JCPU   PCPU WHAT^M
tecmint  tty8     :0               10:45    4:06m  7:40   0.36s x-session-manager^M
tecmint  pts/5    :0               13:42    4.00s  0.07s  0.00s script script.log^M
^[[01;[email ^[[01;34m ~ $^[[00m uptime^M
 14:49:43 up  4:06,  2 users,  load average: 1.37, 1.56, 1.62^M
^[[01;[email ^[[01;34m ~ $^[[00m whoami^M
tecmint^M
^[[01;[email ^[[01;34m ~ $^[[00m echo ''^Hu'^Hs'^Hi'^Hn'^Hg'^H '^Hs'^Hc'^Hr'^Hi'^Hp'^Ht'^H^M
using script^M
^[[01;[email ^[[01;34m ~ $^[[00m exit^M
exit^M

Script done on Wednesday 16 September 2015 02:49:59 PM IST
~                                                              

Þú getur notað valmöguleikann -a til að bæta við annálaskránni eða vélritinu og halda fyrra innihaldi.

[email  ~ $ script -a script.log
Script started, file is script.log

[email  ~ $ date
Wed Sep 16 14:59:36 IST 2015


[email  ~ $ pwd
/home/tecmint


[email  ~ $ whereis script
script: /usr/bin/script /usr/bin/X11/script /usr/share/man/man1/script.1.gz


[email  ~ $ whatis script
script (1)           - make typescript of terminal session

Skoðaðu innihald handrits, skráðu þig eftir að þú hefur notað -möguleika til að bæta því við.

[email  ~ $ vi script.log
^[[0m^[[255D^[[01;[email ^[[01;34m ~ $^[[00m date^M
Wed Sep 16 14:59:36 IST 2015^M
^[[01;[email ^[[01;34m ~ $^[[00m pwd^M
/home/tecmint^M
^[[01;[email ^[[01;34m ~ $^[[00m whre^H^[[K^H^[[Kereis script^M
script: /usr/bin/script /usr/bin/X11/script /usr/share/man/man1/script.1.gz^M
^[[01;[email ^[[01;34m ~ $^[[00m whatis script^M
script (1)           - make typescript of terminal session^M
^[[01;[email ^[[01;34m ~ $^[[00m vi s^H^[[K^H^[[K^H^[[K^H^[[Kexit^M
exit^M

Til að skrá niðurstöður einnar skipunar annarrar en gagnvirkrar skeljalotu, notaðu -c valkostinn.

[email  ~ $ script -c 'hostname' script.log

Script started, file is script.log
linux-console.net
Script done, file is script.log

Ef þú vilt að handritið keyri í rólegum ham þá geturðu notað -q valkostinn. Þú munt ekki sjá skilaboð sem sýna að handrit er að byrja eða hætta.

[email  ~ $ script -c 'who'  -q  script.log

tecmint  tty8         2015-09-16 10:45 (:0)
tecmint  pts/5        2015-09-16 13:42 (:0)

Til að stilla tímasetningarupplýsingar á staðlaða villu eða skrá skaltu nota – tímasetningarvalkostinn. Tímasetningarupplýsingarnar eru gagnlegar þegar þú vilt endurbirta úttakið sem er geymt í log_file.

Leyfðu okkur að hefja handrit og keyra eftirfarandi skipanir m, spenntur og cal til að skrá.

[email  ~ $ script --timing=time.txt script.log
Script started, file is script.log

[email  ~ $ w
 15:09:31 up  4:26,  2 users,  load average: 1.38, 1.39, 1.47
USER     TTY      FROM             [email    IDLE   JCPU   PCPU WHAT
tecmint  tty8     :0               10:45    4:26m  8:15   0.38s x-session-manager
tecmint  pts/5    :0               13:42    3.00s  0.09s  0.00s script --timing=time.txt script.log

[email  ~ $ uptime
 15:09:36 up  4:26,  2 users,  load average: 1.43, 1.40, 1.48

[email  ~ $ cal
   September 2015     
Su Mo Tu We Th Fr Sa  
       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 30    

Þú getur skoðað script.log og time.txt skrána fyrir tímasetningarskipunina hér að ofan.

[email  ~ $ vi script.log
^[[0m^[[255D^[[01;[email ^[[01;34m ~ $^[[00m w^M
 15:12:05 up  4:28,  2 users,  load average: 1.31, 1.37, 1.45^M
USER     TTY      FROM             [email    IDLE   JCPU   PCPU WHAT^M
tecmint  tty8     :0               10:45    4:28m  8:20   0.38s x-session-manager^M
tecmint  pts/5    :0               13:42    5.00s  0.09s  0.00s script --timing=time.txt script.log^M
^[[01;[email ^[[01;34m ~ $^[[00m uptime^M
 15:12:07 up  4:28,  2 users,  load average: 1.29, 1.36, 1.45^M
^[[01;[email ^[[01;34m ~ $^[[00m cal^M
   September 2015     ^M
Su Mo Tu We Th Fr Sa  ^M
       1  2  3  4  5  ^M
 6  7  8  9 10 11 12  ^M
13 14 15 ^[[7m16^[[27m 17 18 19  ^M
20 21 22 23 24 25 26  ^M
27 28 29 30           ^M
                      ^M

Skoðaðu núna time.txt skrána.

[email  ~ $ vi time.txt
0.259669 306
0.037680 829
0.000006 2
0.000002 100
0.000002 2
0.000002 102
0.000019 202
0.000004 2
0.000002 102
0.000015 100
0.000002 2
0.000003 2
0.000002 99
0.000011 2
0.000003 82
...

Time.txt skráin hefur tvo dálka, fyrsti dálkurinn sýnir hversu langur tími hefur liðið frá síðasta skjá og seinni dálkurinn sýnir fjölda stafa sem hafa verið sýndir í þetta skiptið.

Notaðu mannasíðuna og –hjálp til að leita að fleiri valkostum og aðstoð við að nota script skipanalínuforritið.

Notkun scriptreplay til að endurspila smáforrit með því að nota tímasetningarupplýsingar

scriptreplay skipunin hjálpar til við að endurspila upplýsingar í log_file þínum sem skráðar eru með script skipuninni.

Tímasetningarupplýsingarnar eru skilgreindar með valmöguleikanum -timing=file sem notaður er með skriftuskipuninni og skráin í þessu tilfelli er file.txt sem var notuð með skriftuskipuninni.

Mundu að þú þarft að tilgreina log_file sem þú notaðir með script skipuninni.

Við skulum nú endurtaka síðustu þrjár skipanir m, spenntur og cal sem við höfðum keyrt sem hér segir.

[email  ~ $ scriptreplay --timing=time.txt script.log

Þegar log_file er spilað aftur með því að nota tímasetningarupplýsingarnar eru skipanirnar sem skráðar eru keyrðar og úttak þeirra birtist á sama tíma og upprunalega úttakið var sýnt á meðan verið var að taka upp.

Samantekt

Þessar tvær skipanir, script og scriptreplay auðvelt í notkun og hjálpa mikið þegar þú þarft að keyra sömu lotuna af skipunum nokkrum sinnum. Þeir hjálpa mikið við að stjórna netþjónum sem hafa aðeins skipanalínuviðmót fyrir samskipti við kerfið þitt. Vona að þessi handbók hafi verið gagnleg og ef þú hefur einhverju að bæta við eða stendur frammi fyrir áskorun meðan þú notar hana skaltu ekki hika við að skrifa athugasemd.