J'ai un fichier journal au format .csv sous Linux, qui est mis à jour en permanence. Je souhaite afficher le fichier journal au fur et à mesure de sa mise à jour. Existe-t-il une ou plusieurs commandes Linux permettant de le faire ?
Réponses
Trop de publicités?Comme d'autres l'ont souligné, tail -f _file_
est la solution la plus courante. Le problème est que les résultats défilent et qu'il n'est pas possible de revenir en arrière pour les rechercher, à moins que votre terminal ne le supporte et que vous ayez suffisamment de lignes en mémoire tampon dans votre terminal.
Une solution moins connue que j'aime bien est d'utiliser less
; si vous tapez Shift - F lors de la visualisation d'un fichier avec less
il commencera à suivre la fin du fichier, comme dans le cas suivant tail -f
. Vous pouvez également commencer less
con less +F
pour entrer dans ce mode au démarrage. A tout moment, vous pouvez taper Ctrl - C pour arrêter de suivre le fichier, et ensuite paginer vers le haut et vers le bas, rechercher en utilisant / et utiliser less
tout comme la normale. Cela peut s'avérer très utile si vous voyez quelque chose d'intéressant dans le journal, mais que cela défile hors de l'écran, ou si vous voulez revenir un peu en arrière pour vérifier quelque chose que vous avez peut-être manqué. Une fois que vous avez terminé votre recherche, appuyez sur Shift - F pour recommencer à suivre le fichier.
multitail
semble être une bonne solution pour suivre plusieurs fichiers dans des fenêtres distinctes ; si vous affichez plusieurs fichiers avec l'option tail -f
ils seront tous entrelacés les uns avec les autres (avec des en-têtes pour les distinguer), ce qui n'est peut-être pas la façon dont vous voulez les regarder.
tail -F
(c'est-à-dire le capital -F
par opposition aux minuscules -f
) est un drapeau non standard (disponible sur Linux, Cygwin, MacOS X, FreeBSD et NetBSD), qui fonctionne mieux pour la surveillance des fichiers journaux, qui peuvent faire l'objet d'une rotation occasionnelle ; il est courant qu'un processus renomme un fichier journal, puis crée un nouveau fichier journal à sa place, afin d'éviter qu'un fichier journal ne devienne trop gros. tail -f
continuera à suivre l'ancien fichier, qui n'est plus le fichier journal actif, alors que tail -F
surveillera la création d'un nouveau fichier, et commencera à le suivre à la place. Si vous utilisez less
pour suivre le fichier, vous pouvez utiliser la fonction --follow-name
pour faire less
agissent également de cette manière.
(merci à ephemient pour les conseils sur less +F
y less --follow-name
)
Au cas où vous voudriez surveiller plusieurs fichiers, il existe un outil sympa appelé multitail qui vous permet de fusionner les sorties de deux ou plusieurs fichiers et de les suivre en temps réel. multitail vous permet également de naviguer en avant et en arrière dans le ou les fichiers suivis.
tail -f
et tous ses amis sont de la vieille école. multitail
semble meilleur mais le réel La façon de brûler le CPU en regardant vos fichiers journaux est d'utiliser glTail .
- Réponses précédentes
- Plus de réponses