一、实时查看文件内容
Linux 中有一个tail命令,常用来显示一个文件的最后n行文档内容
但更多情况下,我们要在服务器端运行程序,并且需要实时监控运行日志,这时候有什么办法实时滚动显示log文件内容?
这里可以利用tail命令加参数f实现:tail用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
tail -f xxx.log (会把文件里最尾部的内容显示在屏幕上,并且不但刷新,你看到最新的文件内容)
tail -F xxx.log
-F = -f -retry
该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。
注意:采用tail
-f来监控文件变化情况时,在某些情况会不太灵。比如在java应用程序中采用log4j日志时,每隔1个小时生成一个新的日志文件,当前的日志输出在LOG4J.LOG中,当一个小时过去后,log4j会将LOG4J.LOG改名成LOG4J.yyyy-mm-dd-HH的形式。那么这个时候tail
-f就不能动态输出新的日志内容了。tail命令本身提供了很多参数,似乎都不能完美的解决这个问题。最后只好编写了一个脚本ftail.sh来跟踪日志,详见《Linux下实时跟踪log4j日志文件的bash脚本增强了tail -f