你如何查看日志,做分析的? #
-
grep 命令 一个强大的文本搜索工具
如:
grep "hello" file.txt # 在 file.txt 中查找 "hello" grep "hello" *.txt
常用选项
选项 说明 -i
忽略大小写 -v
反向匹配(显示不包含模式的行) -n
显示匹配行的行号 -c
统计匹配的行数 -r
或-R
递归搜索目录 -w
匹配整个单词 -
tail -f
是 Linux/Unix 系统中用于实时查看文件末尾内容的命令,常用于监控日志文件的更新。tail -f [选项] [文件] tail -f /var/log/syslog # 实时查看 syslog 日志 tail -f /var/log/nginx/access.log # 监控 Nginx 访问日志
常用选项
选项 说明 -f
实时跟踪文件变化(默认显示最后 10 行) -n [NUM]
指定显示的行数(如 -n 20
显示最后 20 行) -
less
是一个功能强大的文件查看工具less /var/log/syslog # 查看系统日志 less -N access.log # 显示行号
搜索内容
快捷键 功能 /关键词
向下搜索(按 n
跳转到下一个匹配项)?关键词
向上搜索(按 N
跳转到上一个匹配项)n
跳到下一个匹配结果 N
跳到上一个匹配结果 跳转位置
快捷键 功能 g
跳到文件开头 G
跳到文件末尾 10g
跳到第 10 行 50%
跳到文件 50% 位置 浏览文件
快捷键 功能 空格
或Page Down
向下翻一页 b
或Page Up
向上翻一页 ↓
或Enter
向下翻一行 ↑
向上翻一行 -
wc 用于统计文件或输入流的行数、单词数、字节数的命令
wc [选项] [文件...] wc file.txt
常用选项
选项 功能 -l
只统计行数 -w
只统计单词数(以空格分隔) -c
只统计字节数 -
sort
用于对文本文件或输入流进行排序的命令。sort [选项] [文件] sort file.txt # 按字母顺序排序 sort -r file.txt # 反向排序(Z-A) sort -n numbers.txt # 按数值大小排序
常用选项
选项 描述 -n
按数值大小排序 -r
反向排序(降序) -k n
按第 n 列排序 -t c
指定列分隔符为字符 c -u
去除重复行 -f
忽略大小写 -b
忽略行首空白字符 -o 文件
将结果输出到指定文件 -
uniq
用于过滤或统计连续重复行的命令uniq [选项] [输入文件 [输出文件]] sort file.txt | uniq # 先排序再去重 uniq sorted.txt # 直接处理已排序文件 sort file.txt | uniq -c # 显示每行出现次数
常用选项
选项 描述 -c
在每行前显示重复次数 -d
仅显示重复的行 -u
仅显示不重复的行 -i
忽略大小写 -f N
跳过前 N 个字段的比较 -s N
跳过前 N 个字符的比较 -
awk
是一种强大的文本处理工具和编程语言,特别适合处理结构化文本数据(如日志、CSV等)。