Linux教程

Linux 实时查看日志文件 -- tail命令

本文主要是介绍Linux 实时查看日志文件 -- tail命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Linux 实时查看日志文件,最主要使用的就是tail命令。
linux tail命令用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。

语法格式:

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行:

tail file

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

tail +20 file 

显示文件file的最后10个字符:

tail -c 10 file 

一直变化的文件总是显示后10行(使用最多):

tail -f 10 file

显示帮助信息:

tail --help

tailf 和 tail -f 的区别:

tailf 总是从文件开头一点一点的读, 而 tail -f 则是从文件尾部开始读。

tailf check 文件增长时,使用的是文件名,用 stat 系统调用;而 tail -f 则使用的是已打开的文件描述符。注:tail 也可以做到类似跟踪文件名的效果;

但是tail总是使用fstat系统调用,而不是stat系统调用;结果就是:默认情况下,当tail的文件被偷偷删除时,tail是不知道的,而tailf是知道的

补充:

跟tail功能相似的命令还有:
cat 从第一行開始显示档案内容。
tac 从最后一行開始显示档案内容。
more 分页显示档案内容。
less 与 more 相似,但支持向前翻页
head 仅仅显示前面几行
tail 仅仅显示后面几行
n 带行号显示档案内容
od 以二进制方式显示档案内容

 

出处:https://blog.csdn.net/weixin_46535927/article/details/123684770

=======================================================================================

补充几个使用实例:

tail -100f test.log    #实时监控100行日志
tail -n10 test.log    #查询日志尾部最后10行的日志;
tail -n +10 test.log   # 查询10行之后的所有日志;

=======================================================================================

Linux查看日志常用命令

写在前面

在排查生产环境问题时, 查看日志以定位问题是非常常见的, 下面我们来学习一下查看日志的常用命令

1 查看当前日志

方法1: 进入日志文件所在目录, 再进行查看日志

例如你的日志文件在 根目录 下的 logs 目录下的 app_logs 目录中,日志文件名称叫做 biz-service.log

#1 进入日志文件所在目录
cd /logs/app_logs
#2 再进行查看日志
less biz-service.log

方法2: 通过路径直接查看当前日志

例子+命令:
例如你的日志文件在 根目录 下的 logs 目录下的 app_logs 目录中,日志文件名称叫做 biz-service.log

less /logs/app_logs/biz-service.log

3 Tips:

可以使用 pwd 查看你现在的位置, 以此决定要不要从根目录出发, 按个人喜好, 不是必输项.
例子+命令:
例如你的日志文件在 根目录 下的 logs 目录下的 app_logs 目录中,日志文件名称叫做 biz-service.log

[LiArun@Localhost]$pwd
/logs
# 现在位于 logs 目录中

所以你可以把 从根目录 换成 从当前位置(logs目录) 出发

# 直接使用:
less app_logs/biz-service.log

# 或者
#1 进入目录
cd app_logs
#2 查看日志
less biz-service.log

2 操作当前日志

2.1 上下翻页

按键: pageup/pagedown

2.2 上下翻行

按键: ↓/↑键

2.3 搜索关键字

1 从当前位置向下搜索:

关键字内容是中英文都可以
1,输入: /+关键字, 按 回车键
2, 配合按键 n/N 使用

n: 查看当前关键字的上一个位置
N: 查看当前关键字的下一个位置

2 从当前位置向上搜索:

1,输入: ?+关键字, 按 回车键
2, 配合按键 n/N 使用

n: 查看当前关键字的下一个位置
N: 查看当前关键字的上一个位置

Tips:

可以配合按键 g/G 使用, 效果更佳

g: 到达当前日志文件头部位置
G: 到达当前日志文件尾部位置

2.4 在 less 命令下, 退出当前日志文件

按键 q/Q 都可

2.5 实时查看日志

方法1: 使用 tail -f 命令

例子:
例如你的日志文件在 根目录 下的 logs 目录下的 app_logs 目录中,日志文件名称叫做 biz-service.log

tail -f /logs/app_logs/biz-service.log
# 按键 ctrl+c 即可退出实时

方法2: 在 less 命令下操作

背景:
当你使用 less命令 查看日志, 又不想退出去再使用 tail -f 命令时
操作:
只需要 按键F 即可, 此时与 tail -f 的效果一样, 按键 ctrl+c 退出, 回到 less 命令
按键 q/Q 退出 less 命令

2.6 查看历史日志

例子+命令:
例如你的日志文件在 根目录 下的 logs 目录下的 app_logs 目录中,日志文件名称叫做 biz-service-09-01-2021.gz

zless /logs/app_logs/biz-service-09-01-2021.gz

tips:

zless 用法与 less 用法一样, 配合按键也一样, 可以对比记忆使用

写在后面

以上就是查看日志常用的命令, 如有不足或大家还有所补充, 请在评论区留言, 谢谢大家.

 

出处:https://blog.csdn.net/weixin_48502745/article/details/120031663

这篇关于Linux 实时查看日志文件 -- tail命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!