Linux 查看日志

需求:

日常运维,利用 linux 指令查看日志。

一、cat

cat 命令在 Linux 中用于查看文件内容,但它会一次性输出整个文件的内容到终端,不会自动分页。如果你查看的是一个非常大的日志文件,使用 cat 可能会导致终端缓冲区溢出或变得难以阅读。

cat 适合读取过滤后的日志文件。

  • 打开文件: cat [yourFile]

二、less (推荐)

less 是一个非常实用的命令行工具,特别适合在 Linux 和其他类 Unix 系统中查看和分析文本文件。它的交互性和灵活性使其成为许多系统管理员和开发者的首选工具。

  • 打开文件: less [yourFile]
  • 向下翻页:Space 或 f
  • 向上翻页:b
  • 向下滚动一行:Enter 或 j
  • 向上滚动一行:k
  • 搜索:
    • 正向搜索:/搜索词,然后按 Enter
    • 反向搜索:?搜索词,然后按 Enter
  • 退出:q
  • 忽略大小写搜索: less -i 文件名

三、more

more 是一个轻量级的文本文件查看器,适合简单的文件查看任务。尽管它的功能不如 less 强大,但在某些情况下,特别是资源受限的环境中,more 仍然是一个非常有用的选择

  • 打开文件:more [yourFile]
  • 向下翻页:Space 或 Enter
  • 向下滚动一行:Enter
  • 搜索:
    • 正向搜索:/搜索词,然后按 Enter
  • 退出:q 或 :q

四、tail

tail 是一个非常实用的命令行工具,特别适合查看和监控文件的最新内容。它的简单性和灵活性使其成为系统管理员和开发者的常用工具。

主要特点

  • 查看文件末尾:默认情况下,tail 显示文件的最后 10 行。
  • 实时更新:可以持续监控文件的最新内容。
  • 灵活的输出控制:可以通过选项指定显示的行数或字节数
  • 实时监控日志文件: tail -f /var/log/syslog 这个命令会持续显示文件的最新内容,直到手动终止(通常使用 Ctrl+C)。

条件过滤:tail -100f web-dev.log |grep ERROR

五、过滤/匹配指定内容到新的文件

要从一个文件中过滤指定的内容并将其输出到另一个文件,可以使用 grep 命令结合重定向操作来实现。grep 是一个强大的文本搜索工具,可以在文件中查找匹配指定模式的行,并将结果输出到标准输出或另一个文件中。

基本步骤

使用 grep 命令查找匹配的行。

将 grep 的输出重定向到目标文件。

非常适合根据 TraceID 去获取请求链路,traceID教程:日志增加traceId

复制代码
grep -i "pattern" input.txt > output.txt

-i 代表忽略大小写

-E 过滤包含多个模式的行 grep -E "pattern1|pattern2" input.txt > output.txt

六、awk

awk 是一个功能强大的文本处理工具,在 Linux 和 Unix 系统中广泛用于处理和分析文本数据。它支持基于模式的扫描和处理,可以按行、按字段过滤、格式化输出等。

基础语法:
awk '条件 { 动作 }' 文件名

内置变量:

  • $0:表示整行。
  • 1, 2, ...:表示第1、第2字段
  • NR:当前行号(Number of Record)。

举个例子:

日志格式 是 %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level | %X{traceId} | %logger{36}.%M\(%file:%line\) - %msg%n

获取指定时间的日志到指定文件:awk '$1 >= "2024-11-01 00:00:00.000" && $1 <= "2024-11-05 23:59:59.999"' nanWeb-dev.log > output.txt

相关推荐
wingaso31 分钟前
[经验总结]删除gitlab仓库分支报错:错误:无法推送一些引用到“http:”
linux·数据仓库·git
独行soc36 分钟前
2025年渗透测试面试题总结-阿里云[实习]阿里云安全-安全工程师(题目+回答)
linux·经验分享·安全·阿里云·面试·职场和发展·云计算
勤不了一点1 小时前
小白上手RPM包制作
linux·运维·服务器·软件工程
麦a~M了M2 小时前
ansible
linux·运维·ansible
QQ_4376643143 小时前
Linux下可执行程序的生成和运行详解(编译链接汇编图解)
linux·运维·c语言·汇编·caffe
窦再兴4 小时前
来一个复古的技术FTP
linux·运维·服务器
xiaobin889994 小时前
【2025最新版】VMware虚拟机下载安装教程 保姆级图文详解(附安装包+常用镜像Linux,win11,ubuntu,centos)
linux·其他·ubuntu·centos
ALex_zry5 小时前
Ubuntu 20.04 C++开发环境搭建指南(2025版)
linux·c++·ubuntu
疯狂的挖掘机5 小时前
记一次从windows连接远程Linux系统来控制设备采集数据方法
linux·运维·windows
sz66cm6 小时前
Linux基础 -- 用户态Generic Netlink库高性能接收与回调框架
linux