Saída do shell de log [duplicado]

3

Eu gostaria de registrar toda a saída do shell interativo. Sempre que eu uso um terminal, tudo que é impresso no terminal também seria colocado em um arquivo.

Eu tentei

bash|tee log.txt

O que mais funcionou. O único problema é que alguns comandos como man pages não são exibidos corretamente. Eu diria que eles testam para um shell interativo e não encontram um?

Qualquer maneira de fazer o que eu quero?

    
por RedHatter 19.10.2015 / 09:34

1 resposta

2

Use script e scriptreplay .

De man script

DESCRIPTION
       script makes a typescript of everything displayed 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).

       If the argument file is given, script saves the dialogue in this file.  If no filename is given, the dialogue is saved in
       the file typescript.

Você pode visualizar o log da sessão com, por exemplo, cat , less , vim ... Entretanto, observe que usar coisas como man ou vim durante sua sessão produz muitos caracteres de escape que elevam a saída. Eu não sei de nenhuma maneira de evitar isso.

Se você precisar gravar a saída de programas que sobrescrevem a tela, você também desejará registrar as informações de tempo

script --timing=mytiming mysession

Isso permite que você reproduza a sessão como aconteceu no tempo com

scriptreplay -t mytiming -s mysession

O parâmetro -d pode especificar um fator de aceleração / desaceleração.

    
por Nephente 19.10.2015 / 10:04