温馨提示×

怎样用linux strings看版本号

小樊
37
2026-10-08 09:26:33
栏目: 智能运维

在 Linux 中,strings 命令用于从二进制文件(如可执行文件、库文件、固件等)中提取可打印的字符串。很多程序会在编译时把版本号写进二进制里,所以可以用 strings 配合 grep 来查看版本信息。

下面按常见场景说明。


一、基本用法

strings /path/to/binary | grep -i version

例如:

strings /bin/ls | grep -i version

二、常见查看版本号的方式

1. 查看某个命令/程序的版本(二进制文件)

strings /usr/bin/curl | grep -i version

或者更精确一点:

strings /usr/bin/curl | grep -i -E 'curl [0-9]'

2. 查看动态库版本(.so 文件)

strings /lib/x86_64-linux-gnu/libc.so.6 | grep -i version

glibc 常见:

strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC

3. 查看内核模块版本

strings mydriver.ko | grep -i version

4. 查看固件 / 镜像文件

strings firmware.bin | grep -i version

三、提高命中率的小技巧

1. 忽略大小写

strings file | grep -i version

2. 匹配常见版本格式

strings file | grep -E '[0-9]+\.[0-9]+'

3. 查看更长的字符串(默认太短可能漏)

strings -n 6 file | grep version

4. 结合 less 看全部内容

strings file | less

四、注意事项

  • 不是所有程序都把版本号放进二进制
    • 有些程序只能通过 --version 查看
  • 版本号可能加密或混淆
  • strings 只能看“明文”信息

五、更推荐的方式(如果可用)

很多时候比 strings 更好用:

./program --version

或:

file /path/to/binary

如果你有具体文件类型(比如某个程序、库、固件、Docker 镜像),我可以给你更精确的命令。

0 踩