Scriptazuw we skript oýnamak buýruklaryny ulanyp, Linux Terminal sessiýalaryny nädip ýazga almaly we gaýtalamaly


Bu gollanmada, belli bir sessiýada buýruklary we olaryň terminalda çap edilen çykyşlaryny ýazga almaga kömek edip biljek Linux-da skript we skript oýnamak buýruklaryny nädip ulanmalydygyny öwrenmekçi.

Taryh buýrugy, buýrugyň çykyşyny saklamasa-da, ulanyjylara ulanylan öňki buýrugy saklamaga kömek edýän ajaýyp buýruk setiri.

Şonuň üçin skript buýrugy, terminalyňyzda çap edilen zatlaryň hemmesini log_file ýazga geçirmäge kömek edýän güýçli işlemegi üpjün etmek üçin amatly bolýar. Log_file-den taryhdaky buýrugyň netijesini görmek isleseňiz, bu faýla soňrak ýüz tutup bilersiňiz.

Mundan başga-da, wagt maglumatyny ulanyp, skriptrepleý buýrugyny ulanyp ýazan buýruklaryňyzy gaýtalap bilersiňiz.

Linux terminalyny skript buýrugyny ulanyp nädip ýazga almaly

Scriptazgy buýrugy, ulanyjy tarapyndan at berilmese, deslapky faýlyň ady, tipli ýazgy ulanylanda, ulanyjy tarapyndan atlandyrylyp bilinjek gündelik faýlda terminal işlerini saklaýar.

# script [options] - -timing=timing_file log_filename

Linux terminaly ýazga almak üçin skript ýazyň we görkezilişi ýaly gündelik faýlyň adyny goşuň.

[email  ~ $ script history_log.txt

Script started, file is history_log.txt

Scriptazuwy duruzmak üçin çykyş ýazyň we [Enter] basyň.

[email  ~ $ exit

Script done, file is history_log.txt

Scriptazgy atlandyrylan log faýlyna ýazyp bilmese, ýalňyşlyk görkezýär.

Mysal üçin, aşakdaky çykyşda faýl görnüşiniň ýazgylary, ulanyjy ýa-da topar tarapyndan däl-de, faýly okamaga, ýazmaga we ýerine ýetirmäge mümkinçilik bermeýär. Scriptazgy faýlynyň ady bolmazdan skript buýrugyny işledeniňizde, adaty faýla ýazmaga synanyşýar, şonuň üçin ýalňyşlyk görkezýär.

[email  ~ $ ls -l typescript

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

[email  ~ $ script

script: open failed: typescript: Permission denied
Terminated

Aşakdaky mysalda log faýlym script.log adyny goýdum, faýlyňyza başga at berip bilersiňiz.

[email  ~ $ script script.log

Indi skriptiň terminalda ýerine ýetirilen buýruklary ýazmagyna rugsat bermek üçin birnäçe buýrugy ýerine ýetirmäge synanyşyň.

[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

Indi ähli ýazylan buýruklar üçin logurnal faýlyny “script.log” görmäge synanyşyň, gündeligi göreniňizde, skriptiň setir iýmitlerini we arka ýerlerini hem saklaýandygyna göz ýetirersiňiz.

[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
~                                                              

Öňki mazmuny saklap, gündelik faýly ýa-da görnüş ýazgysyny goşmak üçin -a opsiýasyny ulanyp bilersiňiz.

[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

Scriptazuwyň mazmunyny görüň, goşmak üçin -a opsiýasyny ulananyňyzdan soň giriň.

[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

Interaktiw gabyk sessiýasyndan başga bir buýrugyň netijelerini hasaba almak üçin -c opsiýasyny ulanyň.

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

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

Skriptiň asuda re inimde işlemegini isleseňiz, -q opsiýasyny ulanyp bilersiňiz. Scriptazuwyň başlanýandygyny ýa-da çykýandygyny görkezýän habary görmersiňiz.

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

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

Wagt maglumatyny adaty ýalňyşlyga ýa-da faýla bellemek üçin “Wagt” opsiýasyny ulanyň. Log_file-de saklanylýan çykyşy täzeden görkezmek isleseňiz, wagt maglumatlary peýdalydyr.

Scriptazga alynjak w, iş wagty we cal aşakdaky buýruklary işledeliň.

[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    

Aboveokardaky wagt buýrugy üçin script.log we time.txt faýlyny görüp bilersiňiz.

[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

Indi time.txt faýly görüň.

[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 faýlynda iki sütün bar, birinji sütün soňky displeýden näçe wagtyň geçendigini, ikinji sütün bolsa bu gezek görkezilen nyşanlaryň sanyny görkezýär.

Has köp opsiýa gözlemek we skript buýruk setirini ulanmakda kömek etmek üçin adam sahypasyny we “Kömek” ulanyň.

Wagt maglumatyny ulanyp, skriptleri gaýtalamak üçin skript görnüşini ulanmak

Scripreplay buýrugy, skript buýrugy bilen ýazylan log_fileňizdäki maglumatlary gaýtadan gaýtalamaga kömek edýär.

Wagtlaýyn maglumat skript buýrugy bilen ulanylýan -timing=faýl opsiýasy bilen kesgitlenýär we bu ýagdaýda faýl skript buýrugy bilen ulanylan file.txt.

Scriptaadyňyzdan çykarmaň, skript buýrugy bilen ulanan log_fileňizi görkezmeli.

Indi aşakdaky ýaly işleden w, iş wagty we cal soňky üç buýrugy gaýtalalyň.

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

Log_file wagt maglumatyny ulanyp gaýtadan görkezilende, ýazylan buýruklar işledilýär we ýazgylary asyl çykyşy şol bir wagtda görkezilýär.

Gysgaça mazmun

Bu iki buýruk, skript we skript görnüşi, bir topar buýruklary birnäçe gezek işletmeli bolanyňyzda ulanmak aňsat we köp kömek edýär. Ulgamyňyz bilen täsirleşmek üçin diňe buýruk setiri interfeýsi bolan serwerleri dolandyrmakda köp kömek edýärler. Bu gollanmanyň peýdalydygyna umyt edýärin we ulanýan wagtyňyz kynçylyk goşjak ýa-da kynçylyk çekýän bolsaňyz, teswir ýazmakdan çekinmäň.