GNU/Linux >> Znalost Linux >  >> Linux

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

Linuxový skript příkaz vytvoří typový soubor z vaší relace terminálu. To znamená, že pokud vyvoláte script po příkazu přejdete do „sledované a zaznamenané“ podskořápky terminálové relace, která je uložena do textového souboru ASCII. Když je vytvořen pomocí časovacího souboru, můžete relaci znovu přehrát, včetně výstupu. Účel script je, že můžete snadno získat ukázkový výstup z libovolného příkazu prostřednictvím interaktivní relace přesně tak, jak je zobrazen ve vašem terminálu. Můžete používat backspace, upravovat soubory, vytvářet soubory a spouštět jednoduché nebo složité příkazy.

[ Čtenářům se také líbilo: Základy příkazů Linuxu:7 příkazů pro správu procesů ]

Hodnota script je ve své schopnosti zachytit výstup během vaší relace terminálu pro jakýkoli příkaz terminálu bez přesměrování, která ne vždy fungují. Byl jsem tolikrát frustrovaný, když jsem se pokoušel zachytit výstup z příkazu, který se nějak kazí, dokud jsem neobjevil script . Pomocí standardních operátorů přesměrování lze některé výstupy přesměrovat do souboru, zatímco jiné příkazy zobrazí výstup pouze v stdout nebo na obrazovce. Většina správců systému používá script příkaz k zobrazení výstupu během instalace softwaru, při odstraňování problémů nebo pro účely vývoje a programování.

Překvapivě script příkaz vám nepomůže vytvořit skripty shellu.

Možnosti skriptu

Stejně jako u většiny příkazů, které používám, používám pro ně pouze podmnožinu dostupných možností. skript příkaz má několik možností, které jsem nikdy nepovažoval za užitečné ve své vlastní práci. Jediné, co používám, jsou:

  • -a pro připojení nových příkazů a výstup do dříve používaného souboru.
  • -q pro odstranění počátečních a koncových příkazů při použití script .
  • -t pro uložení časových informací pro přehrávání.

Když používám script , vždy používám --t pro vytvoření časovacího souboru a -q pro tichý režim. Používám pouze -a když potřebuji přidat další informace do existujícího souboru skriptu, což je vzácné.

Použití skriptu

Následují dva standardní příklady způsobu, jakým používám script :

$ skript --t= -q  

A pro připojení k souboru skriptu :

$ skript --t= -q -a  

Kde soubor protokolu a soubor skriptu mohou být jména, která si vyberete. Pokud chcete soubor ukončit a uložit, použijte Ctrl-D na vaší klávesnici. Soubor skriptu a soubor protokolu můžete libovolně prohlížet, upravovat nebo odstraňovat. Jsou to jednoduché textové soubory ASCII.

Zde je příklad:

$ skript --t=log_skriptu -q soubor skriptu 

Spustil jsem ls příkaz kdo a poté jsem skript ukončil pomocí Ctrl-D .

$ lsblah.txt test1 test2 doc.txt$ whoroot tty1 2021-01-18 09:31khess pts/0 2021-01-20 14:42 (192.168.0.5)khess pts/01-2021 20 14:47 $ odchod 

Když stisknete Ctrl-D , skript se ukončí a zobrazí se konec .

Použijte cat příkaz k zobrazení obsahu scriptfile .

$ lsblah.txt file_time scriptfile script.rec shell_record1 shell_record3 time_logfile_log record.scr script_log scriptrecord shell_record2 snap typescript$ whoroot tty1 2021-01-18 09:31khess pts/1012.1 .0.5)khess pts/1 2021-01-20 14:47$ exitScript hotový 20.01.2021 14:47:28-06:00 

Pokud chcete, můžete také kočka script_log soubor.

$ cat script_log0.088699 313.393729 10.246070 10,540094 20.003060 1960.000195 312.136900 10.177266 10.179336 10.540818 20.003883 1340 000210 314.676286 6 /kódu>/kódu>/20s>/kódu>/kódu>/kódu>.

Toto je soubor protokolu časování, který se chová podobně jako protokol transakcí pro váš script příkazy a reakce. Je důležité při přehrávání souboru, což demonstruji v navazujícím článku Jak přehrát terminálové relace zaznamenané pomocí příkazu Linux script.

[ Naučte se základy používání Kubernetes v tomto bezplatném cheatu. ] 

Sbalit

Pro mě nejlepší aplikace scriptu command je pro školení nových uživatelů Linuxu, jak používat příkazy a ukázat jim očekávaný výstup v reálném čase, jako by sami komunikovali s terminálovou relací. Pro zkušenější uživatele můžete vytvořit školení, které naučí instalaci nebo konfiguraci nového softwaru. Školení je aplikace, o které přemýšlím, protože jsem trénoval nové systémové správce a psal články s návody pro různá místa. A protože výstup je v textových souborech ASCII, můžete výstup změnit pro své vlastní potřeby a publikum.


Linux
  1. Zkopírujte a vložte na příkazový řádek Linuxu pomocí xclip

  2. Jak uložit výstup příkazu do souboru v Linuxu

  3. Jak používat příkaz Tar v Linuxu

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

  2. Jak připojit výstup do souboru?

  3. Jak zachytit výstup top příkazu do souboru v linuxu?

  1. Najděte soubory a adresáře v Linuxu pomocí příkazu find

  2. Čtěte a zapisujte data odkudkoli s přesměrováním v terminálu Linux

  3. Práce s Input Output a přesměrováním chyb v Linuxu