Linux日志查看常用命令

本文详细介绍Linux环境下如何利用tail、head、cat等命令高效查看和分析日志文件,包括按行号、日期筛选日志,及分页保存日志至文件的方法。

Linux日志查看常用命令

1.查看日志常用命令

  • tail:

-n 是显示行号;相当于nl命令;例子如下:

tail -100f test.log 实时监控100行日志

tail -n 10 test.log 查询日志尾部最后10行的日志;

tail -n +10 test.log 查询10行之后的所有日志;

  • head:

​ 跟tail是相反的,tail是看后多少行日志;例子如下:

head -n 10 test.log 查询日志文件中的头10行日志;

head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;""’

  • cat

​ tac是倒序查看,是cat单词反写;例子如下:

cat -n test.log |grep "debug" 查询关键字的日志

2.应用场景

2.1 按行号查看—过滤出关键字附近的日志

  1. cat -n test.log |grep "debug" 得到关键日志的行号

  2. cat -n test.log |tail -n +92|head -n 20 选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:

tail -n +92表示查询92行之后的日志

head -n 20 则表示在前面的查询结果里再查前20条记录

例如:需要查询出错日志详情:

  1. 先下旬出

2.2 根据日期查询日志

sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log

​ 特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;

​ 先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点

2.3 分页另存为文件

日志内容特别多,打印在屏幕上不方便查看

​ (1)使用more和less命令,

​ 如:cat -n test.log |grep "debug" |more 这样就分页打印了,通过点击空格键翻页

​ (2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析

​ 如:cat -n test.log |grep "debug" >debug.txt

Linux 系统中,`less` 是一个非常实用的命令行工具,特别适合用来查看大型文本文件,例如日志文件。与 `more` 不同,`less` 支持向上和向下滚动,还允许在文件中搜索特定的文本内容。这对于查看服务器日志、应用程序日志等非常有用。 ### 使用 `less` 查看日志文件的基本命令 要使用 `less` 查看一个日志文件,只需在终端中输入以下命令: ```bash less /path/to/your/logfile.log ``` 替换 `/path/to/your/logfile.log` 为你想要查看日志文件的实际路径。 ### `less` 的常用快捷键 - **向下翻页**:按 `Enter` 或 `↓` 键逐行向下滚动,按 `Space` 键一次滚动一整页。 - **向上翻页**:按 `b` 键向上滚动一页,按 `↑` 键逐行向上滚动。 - **搜索文本**:输入 `/` 后跟要搜索的文本,然后按 `Enter` 键。例如,输入 `/error` 将查找所有包含 "error" 的行。按 `n` 键可以跳转到下一个匹配项,按 `N` 键可以跳转到上一个匹配项。 - **退出 `less`**:按 `q` 键即可退出 `less` 程序。 ### 实时查看日志文件 虽然 `less` 本身不支持实时更新,但你可以结合 `tail` 命令来实现实时查看日志的功能。例如: ```bash tail -f /path/to/your/logfile.log | less ``` 这个命令会持续显示文件的新内容,非常适合监控正在写入的日志文件。 ### 结合 `grep` 过滤日志内容 如果你只想查看日志文件中包含某些关键字的行,可以结合 `grep` 使用。例如: ```bash grep "error" /path/to/your/logfile.log | less ``` 这将只显示包含 "error" 的行,并通过 `less` 分页显示[^1]。 ### 示例代码 以下是一个简单的 Bash 脚本示例,用于实时监控某个日志文件中的错误信息: ```bash #!/bin/bash LOG_FILE="/var/log/syslog" # 实时监控日志文件中的 "error" 关键字 tail -f "$LOG_FILE" | grep --line-buffered "error" | less ``` 保存此脚本为 `monitor_errors.sh`,然后赋予执行权限并运行它: ```bash chmod +x monitor_errors.sh ./monitor_errors.sh ``` 这个脚本将持续监控 `/var/log/syslog` 文件中出现的 "error" 信息,并通过 `less` 分页显示[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值