pipes & tail -f no linux

2

É possível executar cat logfile | tail -f ? Por algum motivo, apenas lê o log inicial, mas não atualiza as entradas recebidas. Eu sei que posso fazer diretamente tail -f logfile .

Eu só queria saber por que isso não funciona, e se tail -f precisa ser sempre o primeiro e depois outro canal?

    
por JosephD 10.12.2010 / 04:28

1 resposta

5

Apenas faça tail -f logfile . Quando você faz o gato primeiro, você está citando o arquivo como está agora, e se você quiser obter novas entradas, você precisará refazê-lo novamente. Se você acabou de fazer tail -f logfile , ele atualizará continuamente a tela à medida que o arquivo for atualizado (embora talvez você queira fazer tail -F logfile , ele continuará a funcionar se o arquivo de log for rolado e um novo for criado).

Em outras palavras, cat é executado uma vez e a saída vai para o final. Executar a cauda diretamente no arquivo faz com que a cauda seja executada e continue em execução, para que você obtenha atualizações continuamente (com -f, isto é).

    
por 10.12.2010 / 04:31

Tags