温馨提示×

怎样用grep查nohup日志

小樊
38
2026-10-09 10:24:16
栏目: 编程语言

在 Linux 下,用 grep 查看 nohup 日志(通常是 nohup.out 或你指定的日志文件)是非常常见的操作。下面按常见场景给你说明。


一、最基本的用法

1. 查看 nohup.out 中的关键字

grep "关键字" nohup.out

例如:

grep "ERROR" nohup.out

2. 实时查看(类似 tail -f + grep)

tail -f nohup.out | grep "关键字"

示例:

tail -f nohup.out | grep "Exception"

适合看程序运行中不断产生的日志


二、常用 grep 参数(很实用)

1. 忽略大小写

grep -i "error" nohup.out

2. 显示行号

grep -n "error" nohup.out

3. 显示匹配及其后几行(排查报错上下文)

grep -A 10 "Exception" nohup.out
  • -A 10:显示匹配行后 10 行
  • -B 10:前 10 行
  • -C 10:前后各 10 行

三、同时查多个关键字

1. 或关系(匹配任意一个)

grep -E "ERROR|WARN|Exception" nohup.out

2. 与关系(同一行包含多个)

grep "ERROR" nohup.out | grep "timeout"

四、从后台进程日志中排查

1. 先找到 nohup 进程

ps -ef | grep your_program

2. 如果日志重定向到了其他文件

nohup java -jar app.jar > app.log 2>&1 &

查看:

grep "ERROR" app.log

五、大日志文件优化

1. 只看最近的日志

tail -n 1000 nohup.out | grep "ERROR"

2. 统计出现次数

grep -c "ERROR" nohup.out

六、常见组合示例

tail -f nohup.out | grep -i -C 5 "exception"
grep -E "ERROR|WARN" nohup.out | tail -n 50

如果你愿意,可以告诉我:

  • 日志文件名(nohup.out 还是自定义)
  • 想查什么内容(报错 / 接口 / 用户ID)
  • 是否要实时看

我可以帮你写一条最合适的命令。

0 踩