tailf 命令安装:
- -bash: tailf: command not found
- #Debian
- apt-get install util-linux
- #Ubuntu
- apt-get install util-linux
- #Alpine
- apk add util-linux
- #Arch Linux
- pacman -S util-linux
- #Kali Linux
- apt-get install util-linux
- #CentOS
- yum install util-linux
- #Fedora
- dnf install util-linux
- #OS X
- brew install util-linux
- #Raspbian
- apt-get install util-linux
- #Docker
- docker run cmd.cat/tailf tailf
tailf 命令补充说明:
tailf 命令几乎等同于 tail -f
,严格说来应该与 tail --follow=name
更相似些。当文件改名之后它也能继续跟踪,特别适合于日志文件的跟踪(follow the growth of a log file)。与 tail -f
不同的是,如果文件不增长,它不会去访问磁盘文件。tailf 特别适合那些便携机上跟踪日志文件,因为它能省电,因为减少了磁盘访问。tailf 命令不是个脚本,而是一个用 C 代码编译后的二进制执行文件,某些 Linux 安装之后没有这个命令。
tailf 和 tail -f 的区别
- tailf 总是从文件开头一点一点的读, 而
tail -f
则是从文件尾部开始读。 - tailf check 文件增长时,使用的是文件名,用 stat 系统调用;而
tail -f
则使用的是已打开的文件描述符。注:tail 也可以做到类似跟踪文件名的效果; - 但是tail总是使用fstat系统调用,而不是stat系统调用;结果就是:默认情况下,当tail的文件被偷偷删除时,tail是不知道的,而tailf是知道的。
tailf 命令语法:
- tailf logfile # 动态跟踪日志文件logfile,最初的时候打印文件的最后10行内容。
tailf 命令选项:
- -n, --lines NUMBER # 输出最后数行
- -NUMBER # 与NUMBER相同 `-n NUMBER'
- -V, --version # 输出版本信息并退出
- -h, --help # 显示帮助并退出
tailf 命令参数:
- 目标:指定目标日志。
tailf 命令实例
- $ tailf request_IP_1502.log
- {"time":"2019-09-24 15:02:59","IP":"202.99.16.3"}
- {"time":"2019-09-24 15:02:59","IP":"67.45.17.4"}
- {"time":"2019-09-24 15:02:59","IP":"201.9.6.5"}
- {"time":"2019-09-24 15:02:59","IP":"200.55.1.6"}
- {"time":"2019-09-24 15:02:59","IP":"202.23.7.7"}
- {"time":"2019-09-24 15:02:59","IP":"39.11.20.8"}
- {"time":"2019-09-24 15:02:59","IP":"202.6.1.9"}
- {"time":"2019-09-24 15:02:59","IP":"22.9.19.10"}
- {"time":"2019-09-24 15:02:59","IP":"27.9.20.11"}
- {"time":"2019-09-24 15:02:59","IP":"102.99.16.12"}
- ...
显示文件最后 5 行内容:
- $ tailf -n 5 request_IP_1502.log
- {"time":"2019-09-24 15:02:59","IP":"202.99.16.3"}
- {"time":"2019-09-24 15:02:59","IP":"202.99.16.3"}
- {"time":"2019-09-24 15:02:59","IP":"202.99.16.3"}
- {"time":"2019-09-24 15:02:59","IP":"202.99.16.3"}
- {"time":"2019-09-24 15:02:59","IP":"202.99.16.3"}
tail -f 与 tail -F 与 tailf 三者区别
tail -f 等于 --follow=descriptor,根据文件描述进行追踪,当文件改名或删除后,停止追踪。
tail -F 等于 --follow=name == retry,根据文件名字进行追踪,当文件改名或删除后,保持重试,当有新的文件和他同名时,继续追踪
tailf 等于 tail -f -n 10(tail -f
或 -F
默认也是打印最后 10 行,然后追踪文件),与 tail -f 不同的是,如果文件不增长,它不会去访问磁盘文件,所以 tailf 特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电。