
Ich verwende es tail -f
in 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 less
dem die Aktualisierung bei eingehendem Text automatisch erfolgt, wäre das vielleicht ideal.
Antwort1
Sie können die Datei ausführen, less +F filename
um tail -f
sie 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 -f
noch 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 -f
mit:
[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"