tail命令是linux下的一个命令,它主要有一个功能,具体介绍如下:
tail命令能够用来查看文件尾部的内容,一般会默认在屏幕上显示指定文件的末尾10行。
说明:若给定的文件不止有一个,那么就需要在显示的每个文件前面加一个文件名标题;若没有指定文件或文件名为“-”,那么读取标准输入即可。
tail命令的具体命令的语法格式为tail[参数]。
参数:
--retry 在tail命令启动时,文件不可以访问或是文件稍后变得不可以访问,都始终去尝试打开文件,并且使用该参数时通常要与选项“——follow=name”连用
-c<N>或——bytes=<N> 输出文件尾部的N(其中N为整数)个字节内容
-f<name/descriptor> --follow<nameldescript>:显示文件最新追加的内容
-F 与选项“-follow=name”和“--retry”连用时功能是一样的
-n<N>或——line=<N> 输出文件的尾部N(其中N位数字)行内容
--pid=<进程号> 与“-f”选项连用,当指定的进程号的进程终止之后,即会自动退出tail命令
--help 显示指令的帮助信息
--version 显示指令的版本信息
参考范例:
显示文件file的最后10行,具体命令是:
[root@linuxcool ~ ] tail file
以上就是小编的分享了,希望能够帮助到大家。
Linux tail命令详解
前言
使用操作系统,文件是我们经常且必须要打交道的一个东西。特别是查看文件内容,这里我就给大家介绍一个可自定义在终端查看文件内容的工具 —— 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循环到10000for((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修改主机名,详细介绍请参考:
总结有关tail的命令关键点基本就这么多,你,学废了吗?