Uso a tela para minhas tarefas de linha de comando ao gerenciar os servidores em que trabalho. Normalmente, executo comandos pequenos (principalmente tarefas do sistema de arquivos), mas às vezes executo tarefas mais extensas (como o DBA).
O resultado dessas tarefas é importante para mim. Como uso o Ubuntu e o OS X (ambos Terminal Windows) para minhas tarefas, ainda preciso usar a tela, a rolagem não está disponível; portanto, qualquer saída longa (pense em uma tabela de 500 linhas de uma seleção) fica invisível para mim. A roda do mouse está fora de questão.
Quando digo "o pergaminho é invisível para mim, quero dizer o seguinte:
Eu estava pensando em duas opções:
Pause (pense em paginar ) a saída de um determinado comando. Quando a saída começa, deixa-me ler o que está acontecendo, pressiono "Enter" e a saída continua até que não haja mais nada para mostrar.
Role para dentro da tela. Mas não sei se isso é possível.
Claro, não sei se essas opções são realmente possíveis . Se são, como alcançá-los? Outras alternativas serão bem recebidas.
Usar o
screen
buffer conforme indicado pelo njsg é uma boa solução. Você também pode desativar o buffer de texto alternativo nas informações do xterm termcap dentro da tela. Quando desativado, você pode usar as barras de rolagem (e a roda do mouse) para rolar para cima e para baixo.Adicione isso ao seu
~/.screenrc
.Você pode ler mais discussões aqui .
fonte
screen
fornecida desde que você a iniciou - ou seja, recolocar em outro lugar significa que você não pode rolar para cima e ver o que aconteceu antes. mas você ainda pode recuperar a saída anterior usando a solução na resposta aceita - e poderá usar a roda do mouse novamente.Todas essas respostas abordaram como navegar em uma sessão de tela, mas há uma funcionalidade interna no comando screen para armazenar tudo em um arquivo através do
-L
argumento de acordo com o manual que diz:para que você possa fazer:
e criará um arquivo com o número
screenlog.#
onde#
está o número dessa tela, começando em 0.Isso tem muitas vantagens e as mais importantes para mim são:
tailf
para monitorar o progresso em tempo real sem ser anexado à tela.grep
para verificar um determinado termo no log e gerar notificações (email, pop-up, voip, etc.). Isso pode ser aplicado em várias telas sem que você as observe ativamente.fonte
-L
bandeira da tela, isso é muito útil! +1screenlog.#
é gerado na mesma pasta onde você executa oscreen
comandoConsegui obter paginação básica direcionando conteúdo para
more
, por exemplo:Ou, se você deseja saída colorida para casos de uso, como realce de sintaxe, pode usar
Isso resulta em uma saída que eu posso facilmente percorrer uma tela por vez. Não tentei modificar o @ uther,
~/.screenrc
mas isso parece preferível como uma solução duradoura quando um mouse está disponível.Para testar isso, você pode acessar este emulador BusyBox e depois ...
Use a barra de espaço para percorrer os resultados do
ls -l
comando ou use a tecla Enter para percorrer os resultados linha por linha.fonte