打开一个文本文件并让它自行更新

打开一个文本文件并让它自行更新

如何打开文本文件并让它自行更新?与工作方式类似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 行。我发现这特别有用,但我还没有看到这里提到它。

相关内容