tailf、tail -f、tail -F三者区别

tailf命令

  本节参考见原文链接

  tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

  tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

命令格式:

  tail [参数] [文件]  

常用参数:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
  • --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

简单实例

  要显示 notes.log 文件的最后 10 行,请输入以下命令:

tail notes.log

  要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:

tail -f notes.log

  此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。

  显示文件 notes.log 的内容,从第 20 行至文件末尾:

tail +20 notes.log

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

tail -c 10 notes.log

tailf命令

  本节参考见原文链接。

  很多人以为,tailf只是 tail -f 的alias别名,其实不然。

命令功能

  tailf 跟踪日志文件增长,作用跟tail –f相同。tailf将输出文件的最后10行,然后等待文件增长。

命令格式

  tailf  [option]  file

常用参数

  -n 指定显示文件最后的行数(默认显示最后10行)

实时跟踪文件语法

  本节参考见原文链接。

  实时查看日志信息,是排错跟踪问题的重要手段,目前我们常用的命令有,tail -f 和 tailf。

tail -f

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

tail -F

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

tailf

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

实时跟踪语法区别

  本节参考见原文链接

不同点

  对于小文件 (大约小于5GB) 使用tailf, tail -f 没有明显区别。 一次偶然使用tailf查看一个20GB日志文件时, 发现无法显示, 而使用tail -f却可以显示。

  当获取文件信息方式不同(stat通过文件名,fstat通过文件描述符),导致当查看文件被删除时,tailf可以获取到文件被删除,tail -f获取不到。

  由于tail -f使用文件描述符,所以即使查看过程中文件名更改tail -f依旧可以获取到文件内容,而tailf 则无法继续查看文件。

共同点

  打印文件后10行,文件增长读取文件。通过linuxstat命令查看文件信息,tailftail -f首次访问会改变文件访问时间,如果文件未改变则不会刷新文件访问时间,文件内容改变会再次访问文件并刷新文件访问时间。

你可能感兴趣的:(Linux,tailf,tail,-f,tail,-F)