tail 命令详解

tail 命令详解一、tail命令介绍tail命令可以将文件指定位置到文件结束的内容写到标准输出。如果你不知道tail命令怎样使用,可以在命令行执行命令tail–help就能看到tail命令介绍和详细的参数使用介绍,内容如下(我帮大家翻译了一下)。[root@yanggongzi~]#tail–helpUsage:tail[OPTION]…[FILE]…Printthelast10linesofeachFILEtostandardoutput.Withmore

大家好,又见面了,我是你们的朋友全栈君。

一、tail 命令介绍

tail 命令可以将文件指定位置到文件结束的内容写到标准输出。

如果你不知道tail命令怎样使用,可以在命令行执行命令tail --help就能看到tail命令介绍和详细的参数使用介绍,内容如下(我帮大家翻译了一下)。

[root@yanggongzi ~]# tail --help
Usage: tail [OPTION]... [FILE]...
Print the last 10 lines of each FILE to standard output.
With more than one FILE, precede each with a header giving the file name.
With no FILE, or when FILE is -, read standard input.
将每个文件的最后10行打印到标准输出。
如果有多个文件,在每个文件之前都有一个给出文件名的头文件。
没有文件,或者当文件为-时,读取标准输入。

Mandatory arguments to long options are mandatory for short options too.
长选项必须用的参数在使用短选项时也是必须的。
  -c, --bytes=K            output the last K bytes;
                           or use -c +K to output bytes starting with the Kth of each file
                           输出最后的 K 个字节;
			               或者使用 -c +K 从每个文件的第K字节开始打印。
  -f, --follow[={ 
   name|descriptor}]
                           output appended data as the file grows;
                           an absent option argument means 'descriptor'
                           随着文件的增长,输出附加数据;(动态输出最新的信息);
                           没有选项参数意味着“描述符”
                           
  -F                       same as --follow=name --retry
                           与 --follow=name --retry 作用相同
                           
  -n, --lines=K            output the last K lines, instead of the last 10;
                           or use -n +K to output starting with the Kth
                           输出最后的K行,而不是最后的10行;
                           或者使用-n +K从第K个开始输出
                           
      --max-unchanged-stats=N
                           with --follow=name, reopen a FILE which has not changed size after N (default 5) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files);
                           with inotify, this option is rarely useful
                           使用——follow=name,在N次(默认为5次)迭代后,重新打开一个大小没有改变的文件,看看它是否被解除链接或重命名(这是旋转日志文件的常见情况);
                           对于inotify,这个选项很少有用
                             
      --pid=PID            with -f, terminate after process ID, PID dies
                           与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令
                           
  -q, --quiet, --silent    never output headers giving file names
                           当有多个文件参数时,不输出各个文件名
                           
      --retry              keep trying to open a file if it is inaccessible
                           即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用
                           
  -s, --sleep-interval=N   
                           with -f, sleep for approximately N seconds (default 1.0) between iterations;
                           with inotify and --pid=P, check process P at least once every N seconds
                           与“-f”选项连用,指定监视文件变化时间隔的秒数(默认为1.0);
			               使用inotify和-pid=P,每N秒检查进程P至少一次
			               
  -v, --verbose            always output headers giving file names
                           当有多个文件参数时,总是输出各个文件名
                           
      --help               display this help and exit
                           显示此帮助信息并退出
                           
      --version            output version information and exit
                           显示版本信息并退出

If the first character of K (the number of bytes or lines) is a '+',
print beginning with the Kth item from the start of each file, otherwise,
print the last K items in the file.  K may have a multiplier suffix:
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.
如果K前面的字符(字节数或行数)'+',每个文件从第K项开始打印,否则,打印文件中最后的K项。K可能有一个乘数后缀:b 512,kB 1000,K 1024,MB 1000 1000,M 1024 1024,GB 1000 1000,G 1024 1024 1024,等等,对于T,P,E,Z,y。

With --follow (-f), tail defaults to following the file descriptor, which
means that even if a tail"ed file is renamed, tail will continue to track
its end.  This default behavior is not desirable when you really want to
track the actual name of the file, not the file descriptor (e.g., log
rotation).  Use --follow=name in that case.  That causes tail to track the
named file in a way that accommodates renaming, removal and creation.
使用——follow (-f), tail默认跟随文件描述符,这意味着即使重命名了尾部文件,tail也将继续跟踪其尾部。
当您真正想要跟踪文件的实际名称而不是文件描述符(例如,日志旋转)时,这种默认行为是不可取的。
在这种情况下使用——follow=name。这将导致tail以一种适合重命名、删除和创建的方式跟踪已命名文件。

二、tail 命令使用示例

1、输出最后200个字符

在这里插入图片描述

2、从第900个字符开始输出,一直到最后

在这里插入图片描述

3、输出最后20行

在这里插入图片描述

4、从第36行开始输出,一直到最后

在这里插入图片描述

5、输出指定文件的最后十行,同时继续监视文件内容有无变化,新增内容会继续输出,直到按下 [Ctrl-C] 组合键退出

在这里插入图片描述

6、指定多个文件并输出文件名

在这里插入图片描述

7、指定多个文件不输出文件名

在这里插入图片描述

三、tailftail -ftail -F 的区别

  • tail -f

等同于–follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

  • tail -F

等同于–follow=name –retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

  • tailf

等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电

当我们设置了滚动日志时,需要持续实时监控最新的日志输出,那么就要用tail -F,而不能用tailftail -f。因为当日志xxx.log达到了设定阈值重命名成了xxx01.log时,后两个命令追踪的还是xxx01.log文件而不是新创建的xxx.log文件,这时就不能继续监控最新日志了。

四、常用快捷键

【Ctrl】+【S】 暂停刷新。
【Ctrl】+【Q】继续刷新。
【Ctrl】+【C】退出 tail 命令。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135967.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机端口大全_计算机网络常见的端口号

    计算机端口大全_计算机网络常见的端口号计算机端口大全0端口:无效端口,通常用于分析操作系统1端口:传输控制协议端口服务多路开关选择器2端口:管理实用程序3端口:压缩进程5端口:远程作业登录7端口:回显9端口:丢弃11端口:在线用户13端口:时间17端口:每日引用18端口:消息发送协议19端口:字符发生器20端口:FTP文件传输协议(默认数据口)21端口:FTP文件传输协议(控制)22端口:SSH远程登录协议23端口:telnet(终端仿真协议),木马TinyTelnetServer开放此端口24端口:预留

    2025年9月4日
    20
  • 计算机网络基础知识整理大全_计算机基础知识题库

    计算机网络基础知识整理大全_计算机基础知识题库计算机网络基础知识一.因特网概述1.网络,互联网和因特网2.因特网发展的三个阶段3.因特网的标准化工作4.因特网的组成二.三种交换方式1.电路交换(CircuitSwitching)2.分组交换(PacketSwitching)3.报文交换(MessageSwitching)4.电路交换,报文交换,分组交换三者区别三.计算机网络的定义和分类1.计算机网络的定义2.计算机网络的分类一.因特网概述1.网络,互联网和因特网网络:由若干个结点和连接这些结点的链路(有限链路和无

    2025年11月7日
    2
  • 统计学 方差分析_python编写计算方差的函数

    统计学 方差分析_python编写计算方差的函数一、理论学习1.0、概念1、方差分析(ANOVA)用于研究一个或多个分类型自变量与一个数值型因变量的关系。方差分析通过检验多个总体(同属于一个大整体)的均值是否相等来判断一个或多个分类型自变量对数值型因变量是否由显著影响。2、方差分析包含的三个重要概念:(以小学六年级的学习成绩为例)因子:分类型自变量。例如:六年级的所有班级水平:某个因子下的不同取值。例如六年级有一班、二班、三班。观测值:每个因子水平下的样本观测值。例如:六年级三个班各自的学生成绩。1.1、单因素方差分析1.1.1

    2022年8月31日
    4
  • my03_使用空数据库搭建Mysql主从复制

    my03_使用空数据库搭建Mysql主从复制

    2021年6月9日
    122
  • HTML5移动端手机网站开发

    HTML5移动端手机网站开发手写手机网站一般我们自己手动开发手机网站的话,基本可以划分两类来做到。一类是通过在网页头部添加meta标签进行实现(网页指html5的格式来开发)。另一类是通过CSS3的Media标签(媒介查询)来实现。    在这里我们详细讲解下,利用添加meta标签来做手机网站。基本在网页头部我们只需添加四个meta标签就可以实现一个手机网站的框架。我一起来看看是哪些meta标签。1、添加viewport标签…

    2022年6月21日
    31
  • idea配置tomcat依赖_idea不自动下载依赖

    idea配置tomcat依赖_idea不自动下载依赖

    2022年10月18日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号