O comando script pode fazer isso, ele inicia uma sessão e toda a saída é, por padrão, capturada em um arquivo chamado typescript. Como alternativa, pode-se especificar o nome do arquivo para conter a sessão capturada, por exemplo,
script capture.txt
.. então execute seus comandos e finalmente digite "exit" para sair da sessão.
Para garantir que você não receba nenhum caractere de controle, use:
TERM=dump
script capture.txt
e quando você sair, use:
col -b < capture.txt > cleaned-capture.txt