在 Linux 里,strings 本身不能直接“查路径”,但常用来从二进制文件、core 文件、内存镜像、日志文件中提取可读字符串,其中往往包含路径信息。下面是常见用法和技巧。
strings /bin/ls
过滤包含路径的字符串(如 / 开头):
strings /bin/ls | grep '/'
更精确一点(看起来像绝对路径):
strings /bin/ls | grep -E '^/[^ ]+'
strings /usr/sbin/nginx | grep -E '/etc|/var|/usr'
常见路径关键词:
/etc/var/log/usr/lib/bin.sostrings core | grep '/'
strings /proc/<pid>/maps | grep '/'
或查看进程打开的文件:
ls -l /proc/<pid>/fd
strings -n 6 binary | grep -E '/(usr|etc|var|home)/'
-n 6:只显示长度 ≥6 的字符串(减少噪音)如果你是想“反查代码里的路径”:
objdump -s -j .rodata binary | strings | grep '/'
| 场景 | 命令示例 |
|---|---|
| 查程序硬编码路径 | `strings app |
| 查配置文件位置 | `strings app |
| 查崩溃原因 | `strings core |
| 查恶意样本 | `strings malware |
如果你有具体场景(比如:
可以直接说,我可以给你更精确的命令。