编写tail程序linux使用,Linux命令:tail

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-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值