Abra um arquivo de texto e deixe-o se atualizar

14

Como posso abrir um arquivo de texto e permitir que ele se atualize? Semelhante à maneira como top funciona.

Eu quero abrir um arquivo de log e assisti-lo atualizar-se em tempo real.

Acabei de tentar:

$ tail error.log

Mas acabei de perceber que apenas mostra as linhas no arquivo de log.

Estou usando o RHEL 5.10

    
por Kevdog777 09.09.2014 / 16:47

3 respostas

19

Você está procurando tail -f error.log (de man tail ):

   -f, --follow[={name|descriptor}]
          output appended data as the file grows; -f, --follow, and --fol‐
          low=descriptor are equivalent

Isso permitirá que você assista a um arquivo e veja as alterações feitas nele.

    
por 09.09.2014 / 16:51
16

Use "menos" em vez de "tail" para rolar e pesquisar

Você pode usar tail -f error.log ou melhor: tail -F error.log .

Mas se você quiser rolar de volta no arquivo, isso não é muito útil.

com

less +F error.log

você obtém a função de tail -f ,
mas pode interromper a leitura de uma nova entrada com Ctrl + C .

Então, você está no modo normal less ,
onde você pode rolar para trás para ver o que pode ter perdido com Acima / Abaixo
Além disso, você pode ler longas linhas de arquivo de log sem quebra, usando Esquerda / Direita

Pesquise e mostre apenas as linhas correspondentes

Você também pode procurar expressões regulares com / , ? para trás, n e N para a próxima / anterior.

Muito interessante para arquivos de log é que você pode ocultar todas as linhas não correspondentes para uma pesquisa com & , filtrando somente correspondências.

Teclas na linha de comando

Com F dentro de less , você continua o modo tail -f -like.
O + na linha de comando less +F significa "pressione estas teclas diretamente após iniciar menos".

Então nós usamos o keypress F na inicialização, que é descrito como:

F  Scroll  forward,  and  keep trying to read when the end of file is
   reached.  Normally this command would be used when already at  the
   end  of the file.  It is a way to monitor the tail of a file which
   is growing while it is being viewed.  (The behavior is similar  to
   the "tail -f" command.)

Veja também multitail se você precisar assistir a mais de um arquivo de log.

    
por 09.09.2014 / 17:07
4

Use a opção -f com tail :

-f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent

Ou use o comando F dentro de less :

   F      Scroll forward, and keep trying to read when the end of file is reached.  Normally this command would be used when already at the end of the file.  It is a way to mon‐
          itor the tail of a file which is growing while it is being viewed.  (The behavior is similar to the "tail -f" command.)
    
por 09.09.2014 / 16:53