Linux - alguma maneira de manter um arquivo de log de atualização ao vivo aberto no terminal?

47

Isso já deve ter sido feito antes: quero manter um arquivo de log aberto no terminal para poder monitorar as atualizações à medida que elas ocorrem. Minhas pesquisas estão apresentando tudo, menos essa situação ... Devo estar com alguma terminologia ou algo importante, porque as pessoas fazem isso o tempo todo em outros programas (NetBeans ou servidor Rails, por exemplo).

wulftone
fonte
4
Ah, eu encontrei. tail -f myfile.log. Isso faz bem. Eu amo linux.
Wulftone

Respostas:

10

Outra maneira:

assistir tail -n20 your.log

OK, uma espécie de uso bobo de watch- mas você pode achar o watchcomando útil para outras coisas.

Robin Green
fonte
5
A watchopção é melhor para arquivos que serão renomeados / removidos e recriados (por operação normal ou por algo como logrotate) durante o tempo em que estiver assistindo, caso contrário, tail -fé mais eficiente.
David Spillett
6
@ David: tail -Flida com isso.
grawity 21/05
@ grrawity: Obrigado, você aprende algo novo todos os dias!
David Spillett
3

Uma alternativa à resposta do @ cYrus é:

less +F file.log

O benefício é que lesstambém pode truncar linhas longas para você com a -Sbandeira, impedindo que elas se espalhem pela tela do terminal, permitindo rolar para a esquerda / direita. Em vez de tubulação tail -f file.logatravés cutou algo semelhante, você pode apenas:

less -S +F file.log
Severyn Kozak
fonte