前言
使用操作系统,文件是我们经常且必须要打交道的一个东西。特别是查看文件内容,这里我就给大家介绍一个可自定义在终端查看文件内容的工具 —— tail
简介
tail 命令从指定点开始将文件写到标准输出中。
说白了,就是把你想要显示的文件,从指定位置开始,显示在终端屏幕上。
有一个-f选项,通过它可以查看正在改变的日志文件, tail -f filename 会把 filename 中最尾部的内容显示在屏幕上,并且不断刷新,这样你看到的一直都会是最新的文件内容,从而方便通过日志实时查看相应软件使用情况。
命令格式:
tail [参数] [文件]参数
-f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 移动大流量卡显示的字节数 -n<行数> 显示文件的尾部 n 行内容 –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束 -q, –quiet, –silent 从不输出给出文件名的首部 -s, –sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒实例演示
这里我写了个简单的shell脚本,其功能是每隔1秒钟,写入一行数据,具体内容如下:
#!/bin/bash # 从1循环到10000 for((i=1;i<=10000;i++)); do # 将当前时间追加写入 test.log 中 echo `date +“%Y-%m-%d %H:%M:%S”` >> ./test.log # 每移动大流量卡隔1秒执行一次 sleep 1s; done执行命令:
tail test.log
从图中可以看到,会显示出当前test.log文件的所有内容。
那如果我只想打印最后几行呢?
我们可以使用:tail -n filename
例如:我想看最后2行:
则输入 tail -2 test.log
正确如预期显示。
再有就是我们上面强调的那个 -f 参数,可以实时显示,因为我们shell中设置的值是10000,短时间内肯定无法执行完成,所以我们现在可以直接 tail -f test.log看看实时效果:
如上图,这次回车之后,会发现屏幕一直在变化,因为我的shell是间隔1秒,所以屏幕会每隔1秒输出当前时间,有效地验证了 tail 移动大流量卡-f 实时查看日志的功能。
注:看到这里有的同学可能会问:为啥你的命令提示符前面是 [root@haoqixin ~], 而我们的却是[root@loclhost ~]呢?
那是因为我修改了主机名,在Linux中,可以通过hostname或者hostnamectl修改主机名,详细介绍请参考:教你在Linux中修改主机名
总结
有关tail的命令关键点基本就这么多,你,学废了吗?
友情提醒: 请添加客服微信进行免费领取流量卡!
QQ交流群:226333560 站长微信:qgzmt2
原创文章,作者:sunyaqun,如若转载,请注明出处:https://www.dallk.cn/57486.html