Linux-Befehlszeilen-Protokollviewer, der automatisches Tail UND Suchen ermöglicht?

Linux-Befehlszeilen-Protokollviewer, der automatisches Tail UND Suchen ermöglicht?

Ich verwende es tail -fin meiner Linux-Shell, um Protokolldateien anzuzeigen, da mir die automatische Aktualisierung mit eingehendem Text gefällt: Ich sehe gern, wie die neuen Sachen hereinscrollen.

Allerdings gefällt mir auch die Suchfunktion von less, die in nicht verfügbar ist tail(oder doch?). Gibt es eine „Best of Both Worlds“-Lösung?

Wenn es einen Modus gäbe, den ich einschalten könnte, bei lessdem die Aktualisierung bei eingehendem Text automatisch erfolgt, wäre das vielleicht ideal.

Antwort1

Sie können die Datei ausführen, less +F filenameum tail -fsie anzuzeigen.

Sie können Umschalt+F drücken, während Sie die Datei anzeigen inwenigerum in den Weiterleitungsmodus zu wechseln, und Strg+C, um diesen Modus zu verlassen.

Antwort2

Aus less -help:

F Für immer vorwärts; wie „tail -f“.

also vermutlich less +F /var/log/messages

Antwort3

Die Antwort von Nicolai kommt Ihrer Frage wahrscheinlich am nächsten, aber haben Sie schon einmal darüber nachgedacht, tmux zu verwenden?

In meinen tmux-Sitzungen protokolliere ich gerne tail -f, wechsele dann einfach in den tmux-Kopiermodus, um genau wie in Less nach oben und unten zu suchen, und verlasse dann den Kopiermodus, um zu finden, was tail -fnoch läuft.

Erstellen Sie eine tmux-Sitzung:

tmux

Führen Sie die Protokolldatei und die letzten 1000 Zeilen aus, um zu beginnen:

tail -f -n1000 /var/log/syslog

Wechseln Sie mit der Führungstaste und einer linken Klammer in den Kopiermodus:

[ctrl+leader] + [

Der Standardschlüssel für den TMUX-Leader ist der Buchstabe b, also zum Beispiel:

[ctrl+b] [

Jetzt können Sie wie in Less nach oben und unten scrollen und suchen.

Beenden Sie den Kopiermodus, um zu Ihrem zurückzukehren tail -fmit:

[crtl+c]

Bonusmaterial: Öffnen Sie eine zweite Terminal-Eingabeaufforderung:

[ctrl+leader] + c

Wechseln Sie zwischen den beiden Terminal-Eingabeaufforderungen:

[ctrl+leader] + l

Antwort4

Du könntest einfach

tailf logname.log | grep "query-here"

verwandte Informationen