简短回答:strings 本身不是专门搜日志的工具,但可以用来“搜日志文件里的可打印字符串”,只是一般不推荐拿它当日志检索工具用。
下面说清楚几点:
strings 是干什么的strings 的作用是:
从一个二进制文件或任意文件中,提取出“可打印的字符序列”。
例如:
strings /bin/ls
它常用于:
能,但有前提:
日志如果是:
.log、.txt)那你可以用:
strings app.log | grep "ERROR"
或者直接从二进制里捞:
strings /var/log/some_binary_log | grep "user login"
如果日志是:
那就 不该用 strings,而应该用:
grep
zgrep
less
awk
journalctl
tail -f
# 文本日志
grep "ERROR" /var/log/syslog
# 压缩日志
zgrep "timeout" /var/log/syslog.1.gz
# systemd 日志
journalctl -u nginx -p err
strings 搜日志?适合:
示例:
strings /usr/sbin/nginx | grep "worker process"
strings 能搜日志里的字符串grep / journalctl如果你愿意,可以说一下:
我可以给你最合适的一条命令。