Jinsi ya Kurekodi na Kucheza tena Vikao vya Kituo cha Linux kwa kutumia hati na Amri za uchezaji wa maandishi


Katika mwongozo huu tutaangalia jinsi ya kutumia hati na amri za kucheza hati katika Linux ambazo zinaweza kukusaidia kurekodi amri na matokeo yao kuchapishwa kwenye terminal yako wakati wa kipindi fulani.

Amri ya historia ni matumizi bora ya safu ya amri ambayo husaidia watumiaji kuhifadhi amri ya hapo awali iliyotumiwa, ingawa haihifadhi matokeo ya amri.

Kwa hivyo amri ya hati inakuja vizuri ili kukupa utendakazi wenye nguvu ambao hukusaidia kurekodi kila kitu ambacho kimechapishwa kwenye terminal yako kwa log_file. Kisha unaweza kurejelea faili hii baadaye ikiwa unataka kutazama matokeo ya amri katika historia kutoka kwa log_file.

Unaweza pia kucheza tena amri ulizorekodi kwa kutumia scriptreplay kwa kutumia taarifa ya saa.

Jinsi ya Kurekodi Kituo cha Linux Kwa kutumia Amri ya hati

Amri ya hati huhifadhi shughuli za terminal katika faili ya logi ambayo inaweza kutajwa na mtumiaji, wakati jina halijatolewa na mtumiaji, jina la faili chaguo-msingi, maandishi ya maandishi hutumiwa.

# script [options] - -timing=timing_file log_filename

Ili kuanza kurekodi terminal ya Linux, chapa hati na uongeze jina la faili la kumbukumbu kama inavyoonyeshwa.

[email  ~ $ script history_log.txt

Script started, file is history_log.txt

Ili kusimamisha hati, andika kutoka na ubonyeze [Enter].

[email  ~ $ exit

Script done, file is history_log.txt

Ikiwa hati haiwezi kuandika kwa faili iliyopewa jina basi inaonyesha kosa.

Kwa mfano, katika matokeo yaliyo hapa chini, ruhusa za maandishi ya faili hairuhusu kusoma, kuandika na kutekeleza faili si kwa mtumiaji au kikundi chochote. Unapoendesha amri ya hati bila jina la faili ya logi, inajaribu kuandika kwa faili chaguo-msingi, maandishi kwa hivyo kuonyesha kosa.

[email  ~ $ ls -l typescript

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

[email  ~ $ script

script: open failed: typescript: Permission denied
Terminated

Nimetaja faili yangu ya kumbukumbu script.log katika mfano ulio hapa chini, unaweza kuipa faili yako jina tofauti.

[email  ~ $ script script.log

Sasa jaribu kutekeleza amri chache ili kuruhusu hati kurekodi amri zilizotekelezwa kwenye terminal.

[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

Sasa jaribu kutazama faili ya kumbukumbu ‘script.log‘ kwa amri zote zilizorekodiwa, unapotazama kumbukumbu unagundua kuwa hati pia huhifadhi milisho ya laini na nafasi za nyuma.

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

Unaweza kutumia -a chaguo kuongeza faili ya kumbukumbu au maandishi, kuhifadhi yaliyomo hapo awali.

[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

Tazama yaliyomo kwenye hati, ingia baada ya kutumia -a chaguo kuiongezea.

[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

Ili kuweka matokeo ya amri moja isipokuwa kikao cha ganda kinachoingiliana, tumia -c chaguo.

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

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

Ikiwa unataka hati iendeshe kwa hali tulivu basi unaweza kutumia -q chaguo. Hutaona ujumbe unaoonyesha hati inaanza au inatoka.

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

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

Ili kuweka maelezo ya muda kwa hitilafu ya kawaida au faili tumia chaguo la -timing. Taarifa ya muda ni muhimu unapotaka kuonyesha tena pato lililohifadhiwa kwenye log_file.

Wacha tuanze hati na tuendeshe amri zifuatazo w, uptime na cal kurekodiwa.

[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    

Unaweza kuona faili ya script.log na time.txt kwa amri ya kuweka saa iliyo hapo juu.

[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

Sasa tazama faili ya time.txt.

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

Faili ya time.txt ina safu wima mbili, safu wima ya kwanza inaonyesha ni muda gani umepita tangu onyesho la mwisho na safu wima ya pili, inaonyesha idadi ya herufi ambazo zimeonyeshwa wakati huu.

Tumia ukurasa wa mtu na -help kutafuta chaguo zaidi na usaidizi katika kutumia matumizi ya safu ya amri ya hati.

Kwa kutumia scriptreplay kucheza tena hati kwa kutumia maelezo ya saa

Amri ya scriptreplay husaidia kucheza tena habari katika log_file yako iliyorekodiwa na amri ya hati.

Taarifa ya muda inafafanuliwa na chaguo la -timing=file linalotumiwa na amri ya hati na faili katika kesi hii ni file.txt ambayo ilitumiwa na amri ya hati .

Kumbuka unahitaji kutaja log_file uliyotumia na amri ya hati.

Wacha sasa turudie amri tatu za mwisho w, uptime na cal ambazo tulikuwa tumeendesha kama ifuatavyo.

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

Wakati log_file inachezwa tena kwa kutumia maelezo ya muda, amri zilizorekodiwa zinaendeshwa na matokeo yao yanaonyeshwa wakati huo huo pato la awali lilionyeshwa wakati wa kurekodi.

Muhtasari

Amri hizi mbili, hati na uchezaji upya wa hati ni rahisi kutumia na husaidia sana unapohitaji kutekeleza kundi moja la amri mara kadhaa. Zinasaidia sana katika kudhibiti seva ambazo zina kiolesura cha mstari wa amri tu kwa mwingiliano na mfumo wako. Natumai mwongozo huu ulikuwa muhimu na ikiwa una chochote cha kuongeza au kukabiliana na changamoto wakati unautumia, usisite kutuma maoni.