Como obter o console o / p no terminal Linux perdido devido a rolagem

1

Eu tinha um programa de impressão de dados no terminal. O terminal rolou e agora não consigo ver todos os dados. Algumas delas estão perdidas. Como obtenho de volta?

    
por abc 24.11.2010 / 21:09

3 respostas

2

Você pode usar várias estratégias para salvar a saída de programas que imprimem muitos dados:

  1. Pressione Shift + PageUp para rolar para cima e ver a saída antiga. Se você já executou o programa, esta é sua única opção, e você será limitado pelo buffer de rolagem do seu terminal.

  2. Se você souber antecipadamente que haverá muitas telas de saída, use um pager para visualizar uma tela por vez: command | less . menos salva toda a saída em um buffer e permite rolar para cima e para baixo no seu ritmo.

  3. Redirecione a saída para um arquivo: command > /tmp/output.txt .

  4. Ao fazer # 2, você pode visualizar o arquivo de log em tempo real com tail -f /tmp/output.txt . Isso exibirá o arquivo como está escrito.

  5. Salve a saída em um arquivo enquanto ainda está sendo exibido na tela: command | tee /tmp/output.txt . tee irá duplicar sua entrada, gravando ambos em um arquivo de log e stdout.

por 24.11.2010 / 21:11
2

Se você sabe como compilar um kernel, você pode ativar a seguinte opção na configuração do kernel e deixar que o kernel salve o buffer de rolagem na RAM ao invés do VRAM. Você também pode definir o tamanho do buffer. Não há praticamente nenhum limite para a rolagem de volta, porque até 1MB lhe dará cerca de 256 páginas de rolagem.

Você pode encontrar a opção em:

Drivers de dispositivos - > Suporte gráfico - > Suporte ao driver de exibição do console - > Console de texto VGA - > Habilitar Buffer de Scrollback na RAM do Sistema (CONFIG_VGACON_SOFT_SCROLLBACK)

Alternativamente, você pode usar a tela que não depende do buffer de kernels e tem o seu próprio. O mesmo se aplica ao emulador de terminal que você usa no X como Terminal, konsole ou xterm.

    
por 24.11.2010 / 21:35
1

Embora não seja possível recuperá-lo depois que ele estiver fora da janela, você poderá capturá-lo em um arquivo na próxima vez que for executado.

Para bombeá-lo em um arquivo: ./program > path/to/file

Para vê-lo e colocá-lo em um arquivo: ./program | tee file

    
por 24.11.2010 / 21:13

Tags