Linux-Kommandozeilen-Log-Viewer, der das automatische Tail-UND-Suchen ermöglicht?

2535
Max Williams

Ich verwende es tail -fin meiner Linux-Shell, um Protokolldateien anzuzeigen, da ich es mag, wie es automatisch mit dem eingehenden Text aktualisiert wird: Ich sehe gerne, dass die neuen Elemente in das Scrollen kommen.

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

Wenn es einen Modus gibt, in dem ich den lesseingehenden Text automatisch aktualisieren kann, könnte dies ideal sein.

18
Muss es ein einfacher Befehl sein oder würden Sie die Verwendung einer Node.JS-Befehlszeilenanwendung akzeptieren? Julian Knight vor 9 Jahren 0

4 Antworten auf die Frage

23
Nikolai

Sie können ausführen, less +F filenameum Dateien in tail -fMode anzuzeigen .

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

Oder Shift-End für fortlaufendes Update. auxsvr vor 9 Jahren 0
5
linuxdev2013

Von less -help:

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

also vermutlich less +F /var/log/messages

Sie können auch die Umschalttaste + F drücken, während Sie die Datei in ** less ** anzeigen, um in den Weiterleitungsmodus zu wechseln, und Strg + C, um diesen Modus zu verlassen. Nikolai vor 9 Jahren 0
@ linuxdev2013 - es beginnt mit "less -F "funktioniert nicht für mich. @Nikolai -` shift & f` ist perfekt, danke! Wenn Sie diese Antwort machen wollen, werde ich sie als richtig kennzeichnen. (Übrigens, falls jemand anderes liest, um die Weiterleitung zu beenden Modus, es ist `ctrl & c` oder was auch immer Ihr normaler Cancel / Interrupt-Keycode ist. Max Williams vor 9 Jahren 0
3
revacuate

Nicolai's answer is probably closest to what you asked for, but have you thought about using tmux?

In my tmux sessions, I like to tail -f logs, then simply enter tmux's copy mode to search up and down exactly like searching in less, then exit copy mode to find my tail -f still going.

Create a tmux session:

tmux 

Tail the log file and the last 1000 lines to start:

tail -f -n1000 /var/log/syslog 

Enter copy mode using the leader key and a left bracket:

[ctrl+leader] + [ 

the default tmux leader key is the letter b, so for example:

[ctrl+b] [ 

Now you can scroll and search up and down just like in less.

Exit copy mode to return to your tail -f with:

[crtl+c] 

Bonus material: Open a second terminal prompt:

[ctrl+leader] + c 

Switch between the two terminal prompts:

[ctrl+leader] + l 
0
blakepeterman

You could just do

tailf logname.log | grep "query-here"