Visualizador de log de linha de comando do Linux, que permite busca automática E busca?

18

Eu uso tail -fno meu shell Linux, para visualizar os arquivos de log, como gosto da atualização automática do texto recebido: gosto de ver as novas coisas rolando.

No entanto, também gosto da funcionalidade de pesquisa de less, que não está disponível em tail(ou está?). Existe uma solução "melhor dos dois mundos"?

Se houvesse um modo em que eu pudesse ativar o lessque faria a atualização automática com o texto recebido, isso seria o ideal.

Max Williams
fonte
Tem que ser um comando simples ou você aceitaria usar um aplicativo de linha de comando Node.JS?
Julian Knight

Respostas:

23

Você pode executar less +F filenamepara visualizar o arquivo da tail -fmoda.

Você pode pressionar Shift + F enquanto exibe o arquivo em menos para alternar para o modo de encaminhamento e Ctrl + C para sair desse modo.

Nikolai
fonte
Ou Shift-End para atualização contínua.
auxsvr
5

De less -help:

F Avante para sempre; como "tail -f".

tão presumivelmente less +F /var/log/messages

linuxdev2013
fonte
Você também pode pressionar Shift + F enquanto visualiza o arquivo em menos para alternar para o modo de encaminhamento e Ctrl + C para sair desse modo.
Nikolai
@ linuxdev2013 - iniciá-lo com "less -F <file>" não funciona para mim. @ Nikolai - shift&fé perfeito, obrigado! Se você quiser fazer uma resposta, vou marcar como correta. (aliás, no caso de alguém está lendo, para sair do modo de encaminhamento, é ctrl&c, ou cancelar qualquer que seja o seu normal / código de acesso de interrupção é.
Max Williams
3

A resposta de Nicolai provavelmente está mais próxima do que você pediu, mas você já pensou em usar o tmux?

Nas minhas sessões do tmux, eu gosto de tail -fregistrar e, em seguida, simplesmente entre no modo de cópia do tmux para pesquisar para cima e para baixo exatamente como pesquisando em menos, depois saia do modo de cópia para descobrir o que tail -fainda está acontecendo.

Crie uma sessão tmux:

tmux

Tail o arquivo de log e as últimas 1000 linhas para iniciar:

tail -f -n1000 /var/log/syslog

Entre no modo de cópia usando a tecla líder e um colchete esquerdo:

[ctrl+leader] + [

a chave líder do tmux padrão é a letra b, por exemplo:

[ctrl+b] [

Agora você pode rolar e pesquisar para cima e para baixo, como em menos.

Saia do modo de cópia para retornar ao seu tail -fcom:

[crtl+c]

Material bônus: Abra um segundo prompt do terminal:

[ctrl+leader] + c

Alterne entre os dois prompts do terminal:

[ctrl+leader] + l
revacuar
fonte
0

Você poderia fazer

tailf logname.log | grep "query-here"
blakepeterman
fonte