GNU/Linux >> Znalost Linux >  >> Linux

Jak nahrávat a přehrávat linuxové terminálové relace pomocí příkazů „script“ a „scriptreplay“.

V této příručce se podíváme na to, jak používat skript a scénář příkazy v Linuxu, které vám mohou pomoci zaznamenat příkazy a jejich výstup vytištěný na vašem terminálu během dané relace.

Příkaz historie je skvělý nástroj příkazového řádku, který pomáhá uživatelům uložit předchozí použitý příkaz, i když neukládá výstup příkazu.

Ne t Miss: Showterm.io – Nástroj pro nahrávání terminálu Linux

Ne t Miss: 8 nejlepších stolních rekordérů obrazovky pro Linux

Proto skript Příkaz se hodí, aby vám poskytl výkonnou funkci, která vám pomůže zaznamenat vše, co je vytištěno na vašem terminálu, do souboru_protokolu . Na tento soubor se pak můžete podívat později v případě, že chcete zobrazit výstup příkazu v historii ze souboru_protokolu .

Můžete také přehrát příkazy, které jste zaznamenali pomocí scriptreplay pomocí časových informací.

Jak zaznamenat linuxový terminál pomocí příkazu skriptu

skript příkaz ukládá aktivity terminálu do souboru protokolu, který může být pojmenován uživatelem, pokud název nezadá uživatel, výchozí název souboru, typescript se používá.

Základní syntaxe příkazu skriptu
# skript [možnosti] - -timing=časový_soubor název_logového_souboru

Chcete-li zahájit nahrávání terminálu Linux, zadejte script a přidejte log název souboru jak je uvedeno.

[e-mail chráněný] ~ $ skript history_log.txt Skript byl spuštěn, soubor je history_log.txt 

Chcete-li zastavit script , zadejte exit a stiskněte [Enter] .

[e-mail chráněný] ~ $ ukončit Skript je hotový, soubor je history_log.txt 

Pokud skript nemůže zapisovat do pojmenovaného souboru protokolu, zobrazí chybu.

Například ve výstupu níže jsou uvedena oprávnění souboru typescript neumožňuje čtení, zápis a spouštění souboru žádným uživatelem nebo skupinou. Když spustíte příkaz script bez názvu souboru protokolu, pokusí se zapsat do výchozího souboru, typescript proto se zobrazuje chyba.

[e-mail chráněný] ~ $ ls -l strojopis --------- 1 ubuntu ubuntu 144 září 15 00:00 strojopis [e-mail chráněn] ~ $ skript script:open failed:typescript:Oprávnění odepřeno Ukončeno 

Příklady použití příkazu script

Soubor protokolu jsem pojmenoval script.log v příkladu níže můžete svému souboru dát jiný název.

[e-mail chráněný] ~ $ script script.log 

Nyní zkuste provést několik příkazů, aby skript mohl zaznamenat provedené příkazy na terminálu.

[e-mail chráněný] ~ $ cal září 2015 Ne Po Út St Čt Pá So 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 30 [e-mail chráněn] ~ $ w 14:49:40 až 4:06, 2 uživatelé, průměrná zátěž:1,37, 1,56, 1,62 USER TTY OD [chráněno e-mailem] NEČINNÝ JCPU PCPU WHATtecmint tty8 :0 10:45 4:06 m 7:40 0,36 s x-session managertecmint pts/5 :0 13:42 4,00 s 0,07 s 0,00 s script script.log[e-mail chráněný] ~ $ doba provozu 14:49:43 až 4:06, 2 uživatelé, průměrná zátěž:1,37, 1,56, 1,62[e-mail chráněno] ~ $ whoami tecmint[e-mail chráněný] ~ $ echo „používám skript“ pomocí skriptu[e-mail chráněno] ~ $ ukončit exitScript hotový, soubor je script.log

Nyní zkuste zobrazit soubor protokolu „script.log ‘ pro všechny zaznamenané příkazy, při prohlížení protokolu si uvědomíte, že skript také ukládá posuny řádků a zpětné mezery.

[e-mail chráněný] ~ $ vi script.log 
Ukázkový výstup
^[[0m^[255D^[[01;[e-mail chráněný]^[[01;34m ~ $^[[00m cal^M září 2015 ^MSu Po Út St Čt Pá So ^M 1 2 3 4 5 ^M 6 7 8 9 10 11 12 ^M13 14 15 ^[[7m16^[[27m 17 18 19 ^M20 21 22 23 24 25 26 ^M27 28 29 01 ^[e-mail ^[^e] protected]^[[01;34m ~ $^[[00m w^M 14:49:40 až 4:06, 2 uživatelé, průměrná zátěž:1,37, 1,56, 1,62^MUSER TTY OD [e-mail chráněno] NEČINNÝ JCPU PCPU CO ^Mtecmint tty8 :0 10:45 4:06m 7:40 0,36s x-session-manager^Mtecmint pts/5 :0 13:42 4,00s 0,07s 0,00s script script.log^M^[[01;[e-mail protected]^[[01;34 mil. ~ $^[[00 mil. dostupnost^M 14:49:43 až 4:06, 2 uživatelé, průměrná zátěž:1,37, 1,56, 1,62^M^[[01;[e-mail chráněno]^ [[01;34m ~ $^[[00m whoami^Mtecmint^M^[[01;[e-mail chráněný]^[[01;34m ~ $^[[00m echo ''^Hu'^Hs'^Hi'^ Hn'^Hg'^H '^Hs'^Hc'^Hr'^Hi'^Hp'^Ht'^H^Musing script^M^[[01;[e-mail chráněný]^[[01;34m ~ $ ^[[00m exit^Mexit^MScript dokončen ve středu 16. září ember 2015 14:49:59 IST~ 

Můžete použít -a možnost připojit soubor protokolu nebo strojopis se zachováním předchozího obsahu.

[e-mail chráněný] ~ $ script -a script.log Skript byl spuštěn, soubor je script.log[e-mail chráněný] ~ $ datum St 16. září 14:59:36 IST 2015[e-mail chráněno] ~ $ pwd /home/tecmint[e-mail chráněný] ~ $ kde je skript skript:/usr/bin/script /usr/bin/X11/script /usr/share/man/man1/script.1.gz[e-mail chráněný] ~ $ co je skript script (1) - make typescript relace terminálu

Zobrazte obsah skriptu a přihlaste se po použití -a možnost jej připojit.

[e-mail chráněný] ~ $ vi script.log 
Ukázkový výstup
^[[0m^[255D^[[01;[e-mail chráněný]^[[01;34m ~ $^[[00m datum^MSt 16. září 14:59:36 IST 2015^M^[01;[e-mail chráněn]^[[01;34m ~ $^[[00m pwd^M/home/tecmint^M^[[01;[e-mail chráněn]^[[01;34m ~ $^[[00m whre^H ^[[K^H^[[Kereis script^Mscript:/usr/bin/script /usr/bin/X11/script /usr/share/man/man1/script.1.gz^M^[[01;[ e-mail chráněno]^[[01;34m ~ $^[[00m whatis script^Mscript (1) - vytvořit strojopis terminálové relace^M^[[01;[e-mail chráněn]^[[01;34m ~ $^[[ 00 m vi s^H^[[K^H^[[K^H^[[K^H^[[Kexit^Mexit^M

Chcete-li zaznamenat výsledky jednoho příkazu jiného než interaktivní relace shellu, použijte -c možnost.

[e-mail chráněný] ~ $ script -c 'název hostitele' skript.log Skript spuštěn, soubor je script.logtecmint.comScript hotový, soubor je script.log

Pokud chcete, aby skript běžel v tichém režimu, můžete použít -q volba. Neuvidíte zprávu, která by ukazovala, že se skript spouští nebo ukončuje.

[e-mail chráněný] ~ $ script -c 'kdo' -q script.log tecmint tty8 2015-09-16 10:45 (:0)tecmint pts/5 2015-09-16 13:42 (:0)

Chcete-li nastavit informace o časování na standardní chybu nebo soubor, použijte –časování volba. Informace o načasování jsou užitečné, když chcete znovu zobrazit výstup uložený v log_file.

Spusťte skript a spusťte následující příkazy w , doba provozu a cal zaznamenat.

[e-mail chráněný] ~ $ script --timing=time.txt script.log Skript byl spuštěn, soubor je script.log[e-mail chráněný] ~ $ w 15:09:31 až 4:26, 2 uživatelé, průměrná zátěž:1,38, 1,39, 1,47 UŽIVATELE TTY OD [chráněno e-mailem] NEČINNÝ JCPU PCPU WHATtecmint tty8 :0 10:45 4:26 m 8:15 0,38 s x-session managertecmint pts/5 :0 13:42 3,00 s 0,09 s 0,00 s skript --timing=time.txt script.log[e-mail chráněný] ~ $ doba provozu 15:09:36 až 4:26, 2 uživatelé, průměrná zátěž:1,43, 1,40, 1,48[e-mail chráněno] ~ $ cal září 2015 Ne Po Út St Čt Pá So 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 
Můžete si prohlédnout script.log a time.txt soubor pro příkaz časování výše.

[e-mail chráněný] ~ $ vi script.log 
Ukázkový výstup
^[[0m^[255D^[[01;[e-mail chráněný]^[[01;34m ~ $^[[00m w^M 15:12:05 až 4:28, 2 uživatelé, průměrná zátěž :1,31, 1,37, 1,45^MUSER TTY OD [chráněno e-mailem] NEČINNÝ JCPU PCPU WHAT^Mtecmint tty8 :0 10:45 4:28m 8:20 0,38s x-session-manager^5Mtecmint 1.042 bodů/3:5 :s 0,09 s 0,00 s skript --timing=time.txt script.log^M^[[01;[e-mail chráněný]^[[01;34m ~ $^[[00m dostupnost^M 15:12:07 až 4:28, 2 uživatelé, průměrná zátěž:1,29, 1,36, 1,45^M^[[01;[e-mail chráněný]^[[01;34m ~ $^[[00m cal^M září 2015 ^MSu Po Út St Čt Pá So ^ M 1 2 3 4 5 ^ M 6 7 8 9 10 11 12 ^M13 14 15 ^[[7m16^[[27m 17 18 19 ^M20 21 22 23 24 25 26 ^M27 308 ^M27 308 ^M27 308 ^M> 

Nyní zobrazte time.txt soubor.

[e-mail chráněný] ~ $ vi time.txt 
Ukázkový výstup
<000002 8290.000004 20.000002.000002.000004.000002.000002.000002.000002.000002.000002.00000011 \ t

Soubor time.txt soubor má dva sloupce, první sloupec ukazuje, kolik času uplynulo od posledního zobrazení a druhý sloupec ukazuje počet znaků, které byly tentokrát zobrazeny.

Použijte manuálovou stránku a –nápovědu hledat další možnosti a pomoc při používání nástroje příkazového řádku skriptu.

Použití scriptreplay k přehrání skriptů pomocí informací o načasování

scénář pomáhá přehrát informace ve vašem souboru_protokolu zaznamenané skriptem příkaz.

Informace o časování jsou definovány pomocí -timing=soubor možnost používaná se skriptem příkaz a soubor v tomto případě je soubor.txt který byl použit s příkazem skriptu .

Nezapomeňte, že musíte zadat soubor_protokolu který jste použili s příkazem script.

Přehrajte si nyní poslední tři příkazy w , doba provozu a cal že jsme běželi následovně.

[e-mail chráněný] ~ $ scriptreplay --timing=time.txt script.log 

Když soubor_protokolu přehrány pomocí časových informací, zaznamenané příkazy se spustí a jejich výstup se zobrazí ve stejnou dobu, kdy byl během nahrávání zobrazen původní výstup.

Shrnutí

Tyto dva příkazy, script a scénář snadné použití a hodně pomůže, když potřebujete spustit stejnou dávku příkazů několikrát. Hodně pomáhají při správě serverů, které mají pouze rozhraní příkazového řádku pro interakci s vaším systémem. Doufám, že tato příručka byla užitečná, a pokud máte co přidat nebo čelit výzvě při jejím používání, neváhejte napsat komentář.


Linux
  1. Jak zaznamenat váš terminál Linux pomocí asciinema

  2. Nahrajte svůj terminál pomocí skriptu a scriptreplay

  3. Jak ukončit terminál Linux pomocí skriptu Python?

  1. Jak přehrát terminálové relace zaznamenané pomocí příkazu skriptu Linux

  2. Jak zachytit terminálové relace a výstup pomocí příkazu skriptu Linux

  3. Jak dekomprimovat formát souboru .xz v Linuxu pomocí nástrojů tar a xz?

  1. Jak vytvořit soubor v Linuxu pomocí terminálu/příkazového řádku

  2. Jak zálohovat a obnovit historii terminálu Linux

  3. Jak nastavit prioritu procesu Linux pomocí příkazů nice a renice