O operador de redirecionamento command > file
irá redirecionar o STDOUT de um comando, ou STDERR de um comando se usado como command 2> file
ou ambos, se usado como &>
no bash ou em qualquer shell pelo portable command > file 2>&1
way. Não tenho conhecimento de nenhum método direto usando redirecionamento que possa alcançar o que você precisa.
Embora seja possível usar o programa script
. Basicamente, ele salvará tudo o que estiver impresso no terminal nessa sessão de script
.
De 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).
Você pode iniciar uma sessão script
digitando apenas script
no terminal, todos os comandos subseqüentes e suas saídas serão todos salvos em um arquivo chamado typescript
no diretório atual. Você pode salvar o resultado em um arquivo diferente também iniciando script
como:
script output.txt
Para sair da sessão screen
(parar de salvar o conteúdo), basta digitar exit
.
Aqui está um exemplo:
$ script output.txt
Script started, file is output.txt
$ ls
output.txt testfile.txt foo.txt
$ exit
exit
Script done, file is output.txt
Agora, se eu ler o arquivo:
$ 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
também tem muitas opções, por ex. executando silenciosamente -q
( --quiet
) sem mostrar / salvando mensagens do programa, ele também pode executar um comando específico -c
( --command
) em vez de uma sessão, ele também tem muitas outras opções. Verifique man script
para ter mais ideia.