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 mesmo nos sistemas em que lê o arquivo inteiro, pelo menos não mantém o arquivo inteiro em memória. Isso less +F
inviabiliza arquivos muito grandes. Você pode, no entanto, executar less -n +F
, o que faz less
com que leia apenas o final do arquivo, com o custo de não exibir os números de linha.
Sob o capô, 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), que permite exibir novos dados instantaneamente, enquanto less
pode levar até 1 segundo para exibir os novos dados porque 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 que normalmente não terá impacto nos arquivos de log.
Uma diferença técnica a favor less +F
é que você pode torná-la truncada na largura da tela com a -S
opção, enquanto tail
não lhe dá outra opção senão exibir a linha inteira, não importa quanto tempo ela seja.
Em termos de interface, não há muita vantagem em usar less
. tail -f
é útil perceber quando algo acontece. Você pode até executá-lo em segundo plano. Se algo acontecer e você quiser examinar o arquivo com mais detalhes, poderá abri-lo less
em outro terminal.
Se você deseja assistir a vários arquivos, o multitail é o caminho a seguir. Mesmo para um único arquivo, o multitail possui recursos adicionais interessantes, como filtragem e colorizações.
less -n
, isso faz menos uso da estratégia de procurar terminar e depois ler novamente.