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.