![Faceți Android-ul dvs. să vorbească text personalizat la amânare sau respingere alarmă](/f/9a6822d4ed8e68b14292bce5dc26f98f.jpg?width=100&height=100)
În acest ghid vom analiza modul de utilizare a scenariu și scriptreplay comenzi în Linux care vă pot ajuta să înregistrați comenzile și ieșirea lor tipărită pe terminalul dvs. în timpul unei sesiuni date.
comanda istoriei este un utilitar excelent din linia de comandă care îi ajută pe utilizatori să stocheze comanda anterioară utilizată, deși nu stochează ieșirea unei comenzi.
Nu ratați:Showterm.io - Un instrument de înregistrare terminal Linux
Nu ratați:Cele mai bune 8 înregistratoare de ecran desktop pentru Linux
De aceea scenariu comanda este utilă pentru a vă oferi o funcționalitate puternică care vă ajută să înregistrați tot ce este imprimat pe terminalul dvs. într-un fișier jurnal. Puteți consulta apoi acest fișier mai târziu, în cazul în care doriți să vizualizați ieșirea unei comenzi din istoric din fișier jurnal.
De asemenea, puteți reda comenzile pe care le-ați înregistrat folosind scriptreplay comandă utilizând o informație de sincronizare.
scenariu comanda stochează activitățile terminalului într-un fișier jurnal care poate fi numit de un utilizator, atunci când un nume nu este furnizat de un utilizator, numele implicit al fișierului, dactilografiat este folosit.
# script [options] - -timing = timing_file log_filename.
Pentru a începe înregistrarea terminalului Linux, tastați scenariu și adăugați jurnalul nume de fișier așa cum se arată.
[e-mail protejat] ~ $script history_log.txtScriptul a început, fișierul este history_log.txt
A opri scenariu, tip Ieșire și apăsați [Introduce].
[e-mail protejat] ~ $IeșireScript terminat, fișierul este history_log.txt
Dacă scriptul nu poate scrie în fișierul jurnal denumit, atunci se afișează o eroare.
De exemplu, în rezultatul de mai jos, permisiunile fișierului dactilografiat nu permite citirea, scrierea și executarea fișierului nu de către niciun utilizator sau grup. Când executați comanda de script fără un nume de fișier jurnal, acesta încearcă să scrie în fișierul implicit, dactilografiat prin urmare, arată o eroare.
[e-mail protejat] ~ $ls -l dactiloscript 1 ubuntu ubuntu 144 Sep 15 00:00 dactilografiat[e-mail protejat] ~ $scenariuscript: deschis eșuat: dactiloscript: Permisiunea refuzatăÎncetat
Mi-am numit fișierul jurnal script.log în exemplul de mai jos, puteți da fișierului un nume diferit.
[e-mail protejat] ~ $script script.log
Acum încercați să executați câteva comenzi pentru a permite scriptului să înregistreze comenzile executate pe terminal.
[e-mail protejat] ~ $cal Septembrie 2015 Lu Mo Lu 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 [e-mail protejat] ~ $w 14:49:40 până la 4:06, 2 utilizatori, medie de încărcare: 1,37, 1,56, 1,62. UTILIZATOR TTY DE LA [e-mail protejat] IDLE JCPU PCPU CE. 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 [e-mail protejat] ~ $disponibilitate 14:49:43 până la 4:06, 2 utilizatori, medie de încărcare: 1,37, 1,56, 1,62 [e-mail protejat] ~ $cine sunt tecmint [e-mail protejat] ~ $ecou „folosind script” folosind script. [e-mail protejat] ~ $Ieșire Ieșire. Script terminat, fișierul este script.log.
Acum încercați să vizualizați fișierul jurnal ‘script.log„Pentru toate comenzile înregistrate, în timp ce vizualizați jurnalul, vă dați seama că scriptul stochează, de asemenea, fluxurile de linie și backspaces.
[e-mail protejat] ~ $vi script.log
^ [[0m ^ [[255D ^ [[01;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m cal ^ M septembrie 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;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m w ^ M 14:49:40 până la 4:06, 2 utilizatori, medie de încărcare: 1,37, 1,56, 1,62 ^ M. UTILIZATOR TTY DE LA [e-mail protejat] IDLE JCPU PCPU CE ^ 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;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m uptime ^ M 14:49:43 up 4:06, 2 utilizatori, medie de încărcare: 1,37, 1,56, 1,62 ^ M. ^[[01;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m whoami ^ M. tecmint ^ M. ^[[01;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m echo '' ^ Hu '^ Hs' ^ Hi '^ Hn' ^ Hg '^ H' ^ Hs '^ Hc' ^ Hr '^ Hi' ^ Hp '^ Ht '^ H ^ M. folosind script ^ M. ^[[01;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m ieșire ^ M. exit ^ M Script realizat miercuri 16 septembrie 2015 14:49:59 PM IST. ~
Puteți utiliza -A opțiunea de a adăuga fișierul jurnal sau dactilografiat, păstrând conținutul anterior.
[e-mail protejat] ~ $script -a script.log Scriptul a început, fișierul este script.log [e-mail protejat] ~ $Data Miercuri 16 septembrie 14:59:36 IST 2015 [e-mail protejat] ~ $pwd /home/tecmint [e-mail protejat] ~ $unde este scriptul script: / usr / bin / script / usr / bin / X11 / script /usr/share/man/man1/script.1.gz [e-mail protejat] ~ $care este scenariul script (1) - faceți tastatura unei sesiuni terminale.
Vizualizați conținutul scriptului, jurnal după utilizare -A opțiunea de a o anexa.
[e-mail protejat] ~ $vi script.log
^ [[0m ^ [[255D ^ [[01;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m data ^ M. Miercuri 16 septembrie 14:59:36 IST 2015 ^ M. ^[[01;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m pwd ^ M. /home/tecmint^M. ^[[01;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m whre ^ H ^ [[K ^ H ^ [[script Kereis ^ M. script: / usr / bin / script / usr / bin / X11 / script /usr/share/man/man1/script.1.gz^M. ^[[01;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m whatis script ^ M. script (1) - faceți dactilografierea sesiunii terminale ^ M. ^[[01;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m vi s ^ H ^ [[K ^ H ^ [[K ^ H ^ [[K ^ H ^ [[Kexit ^ M. ieși ^ M.
Pentru a înregistra rezultatele unei singure comenzi, altele decât o sesiune de shell interactivă, utilizați -c opțiune.
[e-mail protejat] ~ $script -c „nume gazdă” script.log Scriptul a început, fișierul este script.log. tecmint.com. Script terminat, fișierul este script.log.
Dacă doriți ca scriptul să ruleze într-un mod silențios, puteți utiliza fișierul -q opțiune. Nu veți vedea un mesaj care arată că scriptul pornește sau iese.
[e-mail protejat] ~ $script -c 'cine' -q script.logtecmint tty8 16-09-2015 10:45 (: 0) tecmint pts / 5 16-09-2015 13:42 (: 0)
Pentru a seta informațiile de sincronizare la erori standard sau un fișier utilizați -sincronizare opțiune. Informațiile de sincronizare sunt utile atunci când doriți să afișați din nou ieșirea stocată în log_file.
Să începem scriptul și să executăm următoarele comenzi w, disponibilitate și cal să fie înregistrat.
[e-mail protejat] ~ $script --timing = time.txt script.log Scriptul a început, fișierul este script.log [e-mail protejat] ~ $w 15:09:31 până la 4:26, 2 utilizatori, încărcare medie: 1,38, 1,39, 1,47. UTILIZATOR TTY DE LA [e-mail protejat] IDLE JCPU PCPU CE. 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 [e-mail protejat] ~ $disponibilitate 15:09:36 până la 4:26, 2 utilizatori, încărcare medie: 1,43, 1,40, 1,48 [e-mail protejat] ~ $cal Septembrie 2015 Lu Mo Lu 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
Puteți vizualiza script.log și time.txt fișier pentru comanda de sincronizare de mai sus.
[e-mail protejat] ~ $vi script.log
^ [[0m ^ [[255D ^ [[01;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m w ^ M 15:12:05 până 4:28, 2 utilizatori, medie de încărcare: 1,31, 1,37, 1,45 ^ M. UTILIZATOR TTY DE LA [e-mail protejat] IDLE JCPU PCPU CE ^ 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;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m uptime ^ M 15:12:07 up 4:28, 2 utilizatori, medie de încărcare: 1,29, 1,36, 1,45 ^ M. ^[[01;[e-mail protejat]^ [[01; 34m ~ $ ^ [[00m cal ^ M septembrie 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
Acum vizualizați time.txt fişier.
[e-mail protejat] ~ $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 fișierul are două coloane, prima coloană arată cât timp a trecut de la ultima afișare și a doua coloană, arată numărul de caractere care au fost afișate de această dată.
Folosiți pagina manuală și -Ajutor pentru a căuta mai multe opțiuni și a ajuta la utilizarea utilitarului de linie de comandă script.
scriptreplay comanda ajută la redarea informațiilor din fișierul dvs. fișier jurnal înregistrat de scenariu comanda.
Informațiile de sincronizare sunt definite de -timing = fișier opțiune utilizată cu scenariu comanda si fişier în acest caz este file.txt care a fost folosit cu comanda script.
Nu uitați că trebuie să specificați fișier jurnal pe care l-ați folosit cu comanda script.
Să redăm acum ultimele trei comenzi w, disponibilitate și cal că alergasem după cum urmează.
[e-mail protejat] ~ $scriptreplay --timing = time.txt script.log
Cand fișier jurnal redate folosind informațiile de sincronizare, comenzile înregistrate sunt executate și ieșirea lor este afișată în același timp cu ieșirea originală în timpul înregistrării.
Aceste două comenzi, scenariu și scriptreplay ușor de utilizat și ajută mult atunci când trebuie să rulați același lot de comenzi de mai multe ori. Acestea ajută foarte mult în gestionarea serverelor care au doar interfață de linie de comandă pentru interacțiunea cu sistemul dvs. Sper că acest ghid a fost util și dacă aveți ceva de adăugat sau faceți față unei provocări în timp ce le folosiți, nu ezitați să postați un comentariu.