温馨提示×

为什么ubuntu strings没输出

小樊
47
2026-10-15 05:16:51
栏目: 智能运维

strings 在 Ubuntu 上没有输出,通常不是命令“坏了”,而是你查看的对象或方式不对。下面按最常见原因给你逐项排查。


1️⃣ 你没给对文件

strings 只能从文件里提取可打印字符串。

strings 文件名

❌ 错误示例:

strings
strings /proc/1

✅ 正确示例:

strings /bin/ls

2️⃣ 文件不是二进制 / 没有字符串

如果文件是:

  • 空文件
  • 纯文本(本身就能 cat)
  • 已压缩(zip / gz)

那 strings 可能几乎没有输出。

file 文件名

3️⃣ 字符串太短被过滤了

strings 默认只显示 长度 ≥ 4 的字符串。

你可以用 -n 降低门槛:

strings -n 1 文件

4️⃣ 文件是 stripped(被剥离符号)

很多 Ubuntu 系统二进制是 stripped 的:

file /bin/ls
# stripped 会显示

这种仍然有字符串,只是少一些。


5️⃣ 你看了“错误架构”的文件

比如在 x86_64 上看 ARM 二进制,部分工具可能表现异常(但 strings 一般没事)。


6️⃣ 其实有输出,但你没看到

常见情况:

strings 文件 | less

或输出被重定向了:

strings 文件 > out.txt

7️⃣ 确认 strings 是否存在

which strings
strings --version

Ubuntu 一般来自 binutils:

sudo apt install binutils

✅ 最小验证示例

echo "hello world" > test.txt
strings test.txt

如果有输出,说明 strings 没问题。


如果你愿意,可以把:

  • 你运行的完整命令
  • 文件类型(file 输出)

发出来,我可以直接帮你定位是哪一类问题。

0 踩