我tail -f
在我的 Linux shell 中使用它来查看日志文件,因为我喜欢它如何使用传入的文本自动更新:我喜欢看到新内容滚动进来。
不过,我也喜欢 的搜索功能less
,但在 中却没有tail
(或者有?)。有没有“两全其美”的解决方案?
如果有一种模式可以让我打开它less
并让它随着传入的文本自动更新,那么这可能是理想的。
答案1
您可以运行less +F filename
以tail -f
时尚的方式查看文件。
您可以在查看文件时按 Shift+F较少的切换到转发模式,Ctrl+C退出此模式。
答案2
从less -help
:
F 永远前进;类似“tail -f”。
所以大概 less +F /var/log/messages
答案3
Nicolai 的回答可能最接近您的要求,但是您是否考虑过使用 tmux?
在我的 tmux 会话中,我喜欢tail -f
记录日志,然后只需进入 tmux 的复制模式即可上下搜索,就像在 less 中搜索一样,然后退出复制模式以找到tail -f
仍在进行的操作。
创建 tmux 会话:
tmux
跟踪日志文件并开始最后 1000 行:
tail -f -n1000 /var/log/syslog
使用 Leader 键和左括号进入复制模式:
[ctrl+leader] + [
默认的 tmux 引导键是字母 b,例如:
[ctrl+b] [
现在您可以像在 less 中一样上下滚动和搜索。
退出复制模式并返回到tail -f
:
[crtl+c]
附加材料:打开第二个终端提示符:
[ctrl+leader] + c
在两个终端提示符之间切换:
[ctrl+leader] + l
答案4
你可以这样做
tailf logname.log | grep "query-here"