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ů.