在 Linux 里,strings 命令本身不能直接“看版本”,它是用来从二进制文件(可执行文件、库文件等)中提取可打印字符串的。所谓“用 strings 看版本”,通常是指:
从某个程序或库文件中,用 strings 找出里面包含的版本号字符串。
下面按常见场景说明。
strings /path/to/binary | grep -i version
例如:
strings /bin/ls | grep -i version
常见搜索词:
versionVERSIONv1.releasebuildwhich python3
# 比如 /usr/bin/python3
strings /usr/bin/python3 | grep -i version
或者更精确一点:
strings /usr/bin/python3 | grep -E '[0-9]+\.[0-9]+\.[0-9]+'
strings /lib/x86_64-linux-gnu/libc.so.6 | grep -i version
glibc 常见:
strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC
strings mydriver.ko | grep -i version
-n 指定最小字符串长度(更干净)strings -n 6 /usr/bin/curl | grep -i version
✅ strings 看的是文件里写死的字符串
❌ 不等于程序运行时的真实版本(有些程序会动态生成)
✅ 更准确的版本查看方式通常是:
命令 --version
命令 -V
rpm -qi 软件名
dpkg -l | grep 软件名
# 查看 curl 版本字符串
strings $(which curl) | grep -i version
# 查看 openssl 版本
strings $(which openssl) | grep -i 'openssl'
# 查看某个 so 库支持的最低 glibc
strings /lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
如果你有具体某个软件或文件(比如 nginx、python、某个 .so),我可以帮你写精确的 strings 命令。