Visionneuse de journaux de ligne de commande Linux qui permet la recherche automatique ET la recherche?

18

J'utilise tail -fdans mon shell Linux, pour afficher les fichiers journaux, car j'aime la façon dont il se met à jour automatiquement avec le texte entrant: j'aime voir les nouvelles choses défiler.

Cependant, j'aime aussi la fonctionnalité de recherche de less, qui n'est pas disponible dans tail(ou est-ce?). Existe-t-il une solution «le meilleur des deux mondes»?

S'il y avait un mode que je pouvais activer pour le lessmettre à jour automatiquement avec le texte entrant, alors cela pourrait être idéal.

Max Williams
la source
Doit-il s'agir d'une simple commande ou accepteriez-vous d'utiliser une application en ligne de commande Node.JS?
Julian Knight

Réponses:

23

Vous pouvez exécuter less +F filenameafin d'afficher le fichier à la tail -fmode.

Vous pouvez appuyer sur Maj + F tout en visualisant le fichier en moins pour passer en mode de transfert, et sur Ctrl + C pour quitter ce mode.

Nikolai
la source
Ou Shift-End pour une mise à jour continue.
auxsvr
5

De less -help:

F En avant pour toujours; comme "queue -f".

si vraisemblablement less +F /var/log/messages

linuxdev2013
la source
Vous pouvez également appuyer sur Maj + F tout en visualisant le fichier en moins pour passer en mode de transfert, et sur Ctrl + C pour quitter ce mode.
Nikolai
@ linuxdev2013 - le démarrer avec "less -F <file>" ne fonctionne pas pour moi. @Nikolai - shift&fest parfait, merci! Si vous voulez en faire une réponse, je la marquerai comme correcte. (btw, au cas où quelqu'un d'autre serait en train de lire, pour sortir du mode de transfert, c'est le cas ctrl&c, ou quel que soit votre code de touche d'annulation / interruption habituel.
Max Williams
3

La réponse de Nicolai est probablement la plus proche de ce que vous avez demandé, mais avez-vous pensé à utiliser tmux?

Dans mes sessions tmux, j'aime les tail -fjournaux, puis entrez simplement le mode copie de tmux pour rechercher de haut en bas exactement comme chercher dans moins, puis quittez le mode copie pour trouver mon tail -fcours.

Créez une session tmux:

tmux

Tail le fichier journal et les 1000 dernières lignes pour commencer:

tail -f -n1000 /var/log/syslog

Passez en mode copie à l'aide de la touche de repère et d'un crochet gauche:

[ctrl+leader] + [

la clé par défaut de tmux est la lettre b, par exemple:

[ctrl+b] [

Maintenant, vous pouvez faire défiler et rechercher de haut en bas comme en moins.

Quittez le mode copie pour revenir à votre tail -favec:

[crtl+c]

Matériel bonus: Ouvrez une deuxième invite de terminal:

[ctrl+leader] + c

Basculez entre les deux invites du terminal:

[ctrl+leader] + l
revigorer
la source
0

Tu pourrais juste faire

tailf logname.log | grep "query-here"
blakepeterman
la source