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.