Linux-Kommandozeilen-Log-Viewer, der die automatische Tail- UND Suche ermöglicht?

18

Ich benutze tail -fin meiner Linux-Shell, um Protokolldateien anzuzeigen, wie ich es mag, wie es automatisch mit dem eingehenden Text aktualisiert wird: Ich mag es, wenn die neuen Dinge hereinkommen.

Mir gefällt aber auch die Suchfunktion von less, die in tail(oder?) Nicht verfügbar ist. Gibt es eine Lösung für "das Beste aus beiden Welten"?

Wenn es einen Modus lessgäbe, den ich einschalten könnte, um ihn automatisch mit eingehendem Text zu aktualisieren, dann wäre das vielleicht ideal.

Max Williams
quelle
Muss es ein einfacher Befehl sein oder würden Sie die Verwendung einer Node.JS-Befehlszeilenanwendung akzeptieren?
Julian Knight

Antworten:

23

Sie können ausführen, less +F filenameum die Datei in der Art und tail -fWeise anzuzeigen .

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

Nikolai
quelle
Oder Umschalt-Ende für kontinuierliche Aktualisierung.
Auxsvr
5

Von less -help:

F Für immer weiterleiten; wie "Schwanz -f".

so vermutlich less +F /var/log/messages

linuxdev2013
quelle
Sie können auch Umschalt + F drücken, während Sie eine Datei in weniger anzeigen, um in den Weiterleitungsmodus zu wechseln, und Strg + C, um diesen Modus zu verlassen.
Nikolai
@ linuxdev2013 - das Starten mit "less -F <file>" funktioniert bei mir nicht. @Nikolai - shift&fist perfekt, danke! Wenn du das beantworten willst, markiere ich es als korrekt. (Übrigens, falls jemand anderes liest, um aus dem Weiterleitungsmodus auszusteigen, ist es ctrl&coder was auch immer Ihr regulärer Abbruch- / Interrupt-Schlüsselcode ist.
Max Williams
3

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

In meinen tmux-Sitzungen logge ich mich gerne ein, tail -fgehe dann einfach in den tmux-Kopiermodus, um genau wie in weniger zu suchen, und beende dann den Kopiermodus, um festzustellen, ob tail -fnoch etwas läuft.

Erstellen Sie eine tmux-Sitzung:

tmux

Verfolgen Sie die Protokolldatei und die letzten 1000 Zeilen, um zu beginnen:

tail -f -n1000 /var/log/syslog

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

[ctrl+leader] + [

der standard tmux leader key ist der buchstabe b, also zum beispiel:

[ctrl+b] [

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

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

[crtl+c]

Bonusmaterial: Öffnen Sie eine zweite Eingabeaufforderung:

[ctrl+leader] + c

Zwischen den beiden Eingabeaufforderungen wechseln:

[ctrl+leader] + l
wieder räumen
quelle
0

Du könntest es einfach tun

tailf logname.log | grep "query-here"
Blakepeterman
quelle