Acho que você abordou o ponto principal: less +F
lê o arquivo inteiro, enquanto em muitos sistemas tail -f
apenas lê o final do arquivo, e até mesmo nos sistemas em que lê todo o arquivo, em pelo menos não mantém todo o arquivo na memória. Isso torna less +F
impraticável para arquivos muito grandes. No entanto, você pode executar less -n +F
, o que faz com que less
leia somente o final do arquivo, ao custo de não exibir números de linha.
De modo geral, entre less -n +F
e tail -f
, a principal diferença é que tail
usa um serviço de notificação de alteração de arquivo em algumas plataformas (por exemplo, inotify no Linux), o que permite exibir novos dados instantaneamente, Considerando que less
pode levar até 1 segundo para exibir os novos dados, pois verifica novos dados em um loop e dorme entre as verificações.
Outra diferença entre less +F
e tail -f
é que less
invocará seu filtro de entrada, mas isso geralmente não terá impacto nos arquivos de log.
Uma diferença técnica em favor de less +F
é que você pode torná-lo truncar linhas na largura da tela com a opção -S
, enquanto tail
não oferece outra opção a não ser exibir a linha inteira, não importa o quão muito tempo é.
Em termos de interface, não há muita vantagem em usar less
. tail -f
é útil para perceber quando algo acontece. Você pode até executá-lo em segundo plano. Se algo acontecer e você quiser olhar o arquivo com mais detalhes, você pode abri-lo em less
em outro terminal.
Se você quiser assistir a vários arquivos, o multitail é o caminho certo. Mesmo para um único arquivo, o multitail tem recursos interessantes adicionais, como filtragem e colorização.