less命令简介:
此命令从指定点开始将文件写到标准输出。
使用tail命令的-f选项可以方便的查阅正在改变的日志文件,且不停刷新,使你一直看到最新的内容。
1.命令格式;
tail[OPTION]... [FILE]...
2.命令功能:
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
3.命令参数:
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c 显示的字节数
-n 显示行数
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
4.使用实例:
实例1:显示文件末尾内容
命令:
tail -n 5 log2014.log
说明:
显示文件最后5行内容
实例2:循环查看文件内容
命令:
tail -f test.log Ctrl+c终止
输出:
[root@localhost ~]# ping 192.168.1.4 > test.log &
[1] 11891[root@localhost ~]# tail -f test.log
PING 192.168.1.4 (192.168.1.4) 56(84) bytes of data.
64 bytes from 192.168.1.4: icmp_seq=1 ttl=64 time=0.032ms
64 bytes from 192.168.1.4: icmp_seq=2 ttl=64 time=0.031ms
64 bytes from 192.168.1.4: icmp_seq=3 ttl=64 time=0.035ms
64 bytes from 192.168.1.4: icmp_seq=4 ttl=64 time=0.029ms
说明:
ping 192.168.1.4 > test.log & //在后台ping远程主机。并输出文件到test.log;
此方法用于一个以上的档案监视。用Ctrl+c来终止。(附1)
实例3:从第5行开始显示文件
命令:
tail -n +5 log2014.log
附1:1、格式:tail -f file
动态跟踪文件file的增长情况(outputappended data as the filegrows),tail会每隔一秒去检查一下文件是否增加新的内容,如果增加就追加在原来的输出后面显示。但这种情况,必须保证在执行tail命令时,文件已经存在。
2、格式:tail -F file
格式:tail --follow = name --retry file
功能与tail -f file相同,也是动态跟踪文件的变化,不同的是执行此命令时文件可以不存在。
如果想终止tail-f的输出,按Ctrl+C中断tail程序即可。如果按Ctrl+C不能中断输出,那么可以在别的终端上执行killall tail强行终止。
注意:采用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的功能 》。刚才我仔细查看了tail的手册页,发现tail -F就能够做到跟踪这种类型的日志。转念一想,这种需求应该早就被Linux世界的人给满足了的。
-end-