简短结论:strings 可以“辅助”分析日志,但它不是专门的日志分析工具,通常只在特定场景下有用。
下面分情况说明。
strings 是什么strings 是 Linux 下的一个命令,用来从二进制文件或任意文件中提取“可打印字符串”:
strings file
它会把文件中连续的、可打印的字符序列打印出来。
strings 能分析日志吗?比如:
strings app.log | grep ERROR
可以“勉强”看到里面残留的可读信息。
比如:
strings /usr/bin/xxx | grep -i log
| 场景 | 为什么不合适 |
|---|---|
| 正常文本日志 | cat / grep / awk 更好 |
| 按时间分析 | strings 不解析时间 |
| 统计错误次数 | 没有结构化能力 |
| JSON / 结构化日志 | 用 jq 更合适 |
grep ERROR app.log
awk '/ERROR/ {print $1, $2}'
less app.log
tail -f app.log
grep -c ERROR app.log
jq 'select(.level=="error")' app.log
journalctl -u nginx --since "1 hour ago"
strings不是日志分析工具,而是“从非文本中捞可读内容”的工具。
如果你是:
strings如果你愿意,可以告诉我:
我可以给你更合适的命令。