简短回答:strings 本身不能递归搜索目录,它只能处理单个文件或标准输入。
你需要结合 find 或 grep -r 等工具来实现“递归搜索”。
find /path/to/dir -type f -exec strings {} \; | grep "keyword"
.so)find /path/to/dir -type f -name "*.so" -exec strings {} \; | grep "keyword"
strings /path/to/dir/* 2>/dev/null
(这个不是真正递归,只处理一层)
strings -r /path (strings 没有 -r 递归参数)find / xargs 辅助如果你想知道是哪个文件包含该字符串:
for f in $(find /path -type f); do
if strings "$f" | grep -q "keyword"; then
echo "$f"
fi
done
如果你有具体场景(比如分析二进制、固件、日志),我可以给你更精确的命令。