大家好,欢迎来到IT知识分享网。
前言
使用操作系统,文件是我们经常且必须要打交道的一个东西。特别是查看文件内容,这里我就给大家介绍一个可自定义在终端查看文件内容的工具 —— 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的命令关键点基本就这么多,你,学废了吗?
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/50157.html