温馨提示×

怎样用linux strings看路径

小樊
47
2026-10-23 00:08:29
栏目: 智能运维

在 Linux 里,strings 命令的作用是从一个二进制文件(或任意文件)中提取可打印的字符串。
如果你想“用 strings 看路径”,通常是指:在程序 / 库 / 日志文件里找出里面包含的目录或文件路径字符串。

下面按常见场景说明。


一、基本用法:从文件里找路径

strings /bin/ls

这会列出 ls 二进制里所有可打印字符串,里面可能包含路径,如:

/usr/share/locale
/etc/nsswitch.conf

二、只筛选“像路径”的字符串

1️⃣ 配合 grep 找以 / 开头的路径

strings /bin/ls | grep '^/'

2️⃣ 找包含常见路径特征的字符串

strings some_binary | grep -E '/(bin|etc|usr|var|home|tmp)/'

3️⃣ 找 .so、配置文件等

strings app | grep -E '\.so|\.conf|\.json|\.yaml'

三、从进程中“看路径”(进阶)

如果你想知道正在运行的程序里有什么路径:

1️⃣ 从进程内存看

strings /proc/<pid>/maps

或

cat /proc/<pid>/maps

2️⃣ 从进程可执行文件看

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 看路径 = 从文件里提取“写死在里面的字符串路径”

如果你有具体场景(比如:

  • 看某个程序读哪里配置
  • 分析恶意样本
  • 找硬编码密钥路径

可以告诉我,我给你更精准的命令。

0 踩