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
原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/270326.html