如何打开文本文件并让它自行更新?与工作方式类似top
。
我想打开一个日志文件并观察它的动态更新。
我刚刚尝试过:
$ tail error.log
但刚刚意识到,它只是向您显示日志文件中的行。
我使用的是 RHEL 5.10
答案1
您正在寻找tail -f error.log
(来自man tail
):
-f, --follow[={name|descriptor}]
output appended data as the file grows; -f, --follow, and --fol‐
low=descriptor are equivalent
这将让您观看文件并查看对其所做的任何更改。
答案2
使用“less”而不是“tail”进行滚动和搜索
您可以使用tail -f error.log
或者,更好的是:tail -F error.log
。
但如果您想向后滚动文件,那就不太有用了。
和
less +F error.log
你得到 的函数tail -f
,
但是可以 打断Ctrl用+读取新输入C。
然后,您就处于正常less
模式,
您可以向后滚动看看您可能错过了Up/ 的内容 另外,您可以使用/Down
读取长日志文件行而不换行LeftRight
搜索并仅显示匹配的行
/您还可以使用、?向后搜索n以及N下一个/上一个搜索正则表达式。
对于日志文件来说非常有趣的是你可以隐藏&使用,进行搜索的所有不匹配行过滤只出比赛。
命令行上的按键
与F里面的less
,你继续类似tail -f
模式。命令行中的
表示“启动 less 后直接按这些键”。 +
less +F
所以我们F在启动时使用了keypress,描述如下:
F Scroll forward, and keep trying to read when the end of file is
reached. Normally this command would be used when already at the
end of the file. It is a way to monitor the tail of a file which
is growing while it is being viewed. (The behavior is similar to
the "tail -f" command.)
也可以看看multitail
如果您需要观看多个日志文件。
答案3
使用-f
选项tail
:
-f, --follow[={name|descriptor}] 随着文件的增长输出附加数据; -f、--follow 和 --follow=descriptor 是等效的
或者使用F
里面的命令less
:
F Scroll forward, and keep trying to read when the end of file is reached. Normally this command would be used when already at the end of the file. It is a way to mon‐
itor the tail of a file which is growing while it is being viewed. (The behavior is similar to the "tail -f" command.)
答案4
要添加到我之前的答案中,您还可以输入类似的内容,tail -25f error.log
如果您希望命令行显示仅文件的最后 25 行。我发现这特别有用,但我还没有看到这里提到它。