Existuje nějaký způsob, jak uložit veškerý výstup terminálu do souboru pomocí příkazu?
- Nemluvím o přesměrování
command > file.txt - Není to historie
history > file.txt, potřebuji úplný text terminálu - Ne pomocí klávesových zkratek!
Něco jako terminal_text > file.txt
Přijatá odpověď:
Můžete použít script . V podstatě uloží vše vytištěné na terminálu v tom script relace.
Z man script :
script makes a typescript of everything printed on your terminal.
It is useful for students who need a hardcopy record of an
interactive session as proof of an assignment, as the typescript file
can be printed out later with lpr(1).
Můžete spustit script relaci pouhým zadáním script v terminálu budou všechny následující příkazy a jejich výstupy uloženy do souboru s názvem typescript v aktuálním adresáři. Výsledek můžete také uložit do jiného souboru pouhým spuštěním script jako:
script output.txt
Pro odhlášení ze script session (zastavit ukládání obsahu), stačí napsat exit .
Zde je příklad:
$ script output.txt
Script started, file is output.txt
$ ls
output.txt testfile.txt foo.txt
$ exit
exit
Script done, file is output.txt
Nyní, když čtu soubor:
$ cat output.txt
Script started on Mon 20 Apr 2015 08:00:14 AM BDT
$ ls
output.txt testfile.txt foo.txt
$ exit
exit
Script done on Mon 20 Apr 2015 08:00:21 AM BDT
script má také mnoho možností, např. běží tiše -q (--quiet ) bez zobrazování/ukládání zpráv programu může také spustit specifický příkaz -c (--command ) spíše než relace má také mnoho dalších možností. Zkontrolujte man script získat více nápadů.