温馨提示×

Ubuntu Strings 如何查看

小樊
37
2026-08-05 07:02:45
栏目: 智能运维

在 Ubuntu 里,“Strings”通常指的是 strings 命令,用来从二进制文件或任意文件中提取可打印的字符串。下面按常见用法给你说明。


一、什么是 strings

strings 会把文件中长度大于等于一定值的可打印字符序列打印出来,常用于:

  • 分析 ELF / 可执行文件
  • 查看程序里包含的字符串(路径、日志、URL、硬编码信息)
  • 逆向分析、取证、排查问题

二、安装 strings(一般已自带)

大多数 Ubuntu 已预装,它属于 binutils

which strings

如果没有:

sudo apt update
sudo apt install binutils

三、基本用法

1️⃣ 查看可执行文件中的字符串

strings /bin/ls

2️⃣ 指定最小字符串长度(默认是 4)

strings -n 6 a.out

只显示长度 ≥ 6 的字符串。


3️⃣ 显示字符串在文件中的偏移

strings -t x a.out
  • -t x:十六进制偏移
  • -t d:十进制偏移
  • -t o:八进制偏移

4️⃣ 查看二进制文件中的字符串(如 .so)

strings libxxx.so

5️⃣ 从 core dump 或未知文件中提取字符串

strings core

6️⃣ 结合 grep 使用(非常常见)

strings a.out | grep password
strings a.out | grep http

四、常见示例

查看程序是否包含某个路径

strings /usr/bin/curl | grep etc

查看 ELF 文件中的字符串

strings /usr/bin/bash

五、strings 输出的是什么?

  • 可打印字符(ASCII / UTF‑8)
  • 不包含不可见字符
  • 不保证是“有意义”的字符串,只是连续可打印字符

六、如果你指的是“Ubuntu 系统字符串 / 本地化字符串”

如果你问的是 Ubuntu 系统语言、翻译字符串(gettext / .mo / .po),那就不是 strings 命令,而是:

查看 .mo 翻译文件

msgunfmt /usr/share/locale/zh_CN/LC_MESSAGES/gnome.mo

查看 .po 文件

less xxx.po

七、总结

场景 用法
查看二进制中的字符串 strings 文件名
指定最短长度 strings -n 6 文件名
显示偏移 strings -t x 文件名
搜索关键字 `strings 文件

如果你能具体说一下:

  • 查看什么文件?
  • 是程序分析还是系统语言?

我可以给你更精确的命令示例。

0