在 Linux 里,strings 命令的作用是从一个二进制文件(或任意文件)中提取可打印的字符串。
如果你想“用 strings 看路径”,通常是指:在程序 / 库 / 日志文件里找出里面包含的目录或文件路径字符串。
下面按常见场景说明。
strings /bin/ls
这会列出 ls 二进制里所有可打印字符串,里面可能包含路径,如:
/usr/share/locale
/etc/nsswitch.conf
grep 找以 / 开头的路径strings /bin/ls | grep '^/'
strings some_binary | grep -E '/(bin|etc|usr|var|home|tmp)/'
.so、配置文件等strings app | grep -E '\.so|\.conf|\.json|\.yaml'
如果你想知道正在运行的程序里有什么路径:
strings /proc/<pid>/maps
或
cat /proc/<pid>/maps
strings /proc/<pid>/exe
strings /lib/x86_64-linux-gnu/libc.so.6 | grep '/'
常能看到:
/etc/ld.so.cache
strings /usr/bin/nginx | grep 'nginx.conf'
strings /usr/bin/ssh | grep -E '/etc/ssh|known_hosts|\.ssh'
❌ strings 不能:
strace / lsof✅ 如果你想知道程序实际打开了哪些路径,更推荐:
strace -e trace=open,openat,stat,readlink -f ./program
或
lsof -p <pid>
strings 看路径 = 从文件里提取“写死在里面的字符串路径”
如果你有具体场景(比如:
可以告诉我,我给你更精准的命令。