71 votes

Affichage du fichier journal du script Bash à l'écran en continu

Je crée une application qui écrit dans un fichier journal et j'ai besoin de savoir comment utiliser Linux / Bash pour afficher en permanence le fichier journal à l'écran (mise à jour de l'écran à chaque nouvelle ligne insérée dans le journal). Je suis sûr que c'est quelque chose de très simple, mais Google n'est pas mon ami aujourd'hui :)

Ainsi, à titre d'exemple, disons que je veux envoyer un journal en cours d'exécution de apache/error.log à l'écran (terminal ssh) en cours de mise à jour en continu.

103voto

Hai Vu Points 10359

Essayez la commande de queue:

 tail -f filename
 

26voto

osgx Points 28675

Une autre solution est less +F ou juste moins et en appuyant sur un décalage f + à l'intérieur de celle-ci. Cela peut être mieux que tail, car cela vous permet d’annuler temporairement l’impression continue, de regarder en arrière et de la réactiver avec f + shift

11voto

Seth Robertson Points 13276

La commande watch peut également être utile.

 watch tail logfile
 

Vous montrerait les 5 dernières lignes du fichier journal. Il peut être étendu à toute commande qui imprime des éléments sur stdout.

Oui, utiliser tail -f est la solution traditionnelle, mais selon ce que vous essayez de faire, cela pourrait fonctionner mieux.

6voto

bukzor Points 11085

ssh {remotehost} tail -n0f {logfile}

Cela vous donnera initialement zéro ligne et imprimera en continu toutes les nouvelles lignes qui apparaissent dans le fichier.

6voto

jm666 Points 17312

Vous pouvez aussi:

 less filename.txt
and press 'F'
 

a un plus - vous pouvez à tout moment CTRL-C et défiler en arrière dans le journal et commencer à regarder à nouveau avec le «F».

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X