每天一条Linux命令(8) tail (超详细)

首页 » Linux专栏 » 正文

每天一条Linux命令(8) tail (超详细)


在Linux系统中,命令 tail 用于查看文件的末尾数据,比如查看日志文件等等,默认显示指定文件的最后10行到标准输出,如果指定了多个文件,tail会在每段输出的开始添加相应的文件名作为头。与 cat 命令不同的是 tail 命令可以实时查看日志文件(一旦有日志内容生成会即时显示在终端)。


语法:

tail [参数] [文件]

参数:

-f 循环获取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示文件末尾n行内容

-q, –quiet, –silent 从不输出给出文件名的首部

-s, –sleep-intercval=S 与 -f合用,表示每次反复的时间休息S秒


案例:

显示test.log文件的最后行10行(不带参数默认显示后10行),注意区分cat与tail的区别

[root@master test]# lstest.log
[root@master test]# cat test.log    # cat显示全部内容
this is line 1
this is line 2
this is line 3
this is line 4
this is line 5
this is line 6
this is line 7
this is line 8
this is line 9
this is line 10
this is line 11
this is line 12
[root@master test]# tail test.log   # tail默认显示最后10
this is line 4
this is line 5
this is line 6
this is line 7
this is line 8
this is line 9
this is line 10
this is line 11
this is line 12
[root@master test]#

实时显示文件末尾内容(如果文件内容在不断增长变化),这个不好演示

[root@master test]# tail -f test.log

上述实时显示命令执行后终端就不能输入其他命令了,会每隔一秒去检查一下文件是否增加新的内容,如果增加就追加在原来的输出后面并显示,处于一种实时监控输出文件的末尾内容的状态,直到按下(Ctrl + c)组合键才会停止。

显示test.log文件的末尾5行内容

[root@master test]# tail -n 5 test.log 
this is line 9
this is line 10
this is line 11
this is line 12    
               <====  # 这里的文件末尾有一行空内容[root@master test]#

显示test.log文件的最后10个字符

[root@master test]# tail -c 10 test.log  
line 12       
            <====  # 这里的文件末尾有一行空内容[root@master test]#

作者:bear, 转载或复制请以 超链接形式 并注明出处 数据与编程之美
原文地址:《每天一条Linux命令(8) tail (超详细)》 发布于2020-07-21

分享到:
赞(2) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

一碗牛肉面
鼓励站长分享更多学习经验、教程、学习资源。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册