温馨提示×

怎样过滤debian strings输出

小樊
36
2026-10-10 00:35:45
栏目: 智能运维

在 Debian 里,strings 命令用于从二进制文件或数据中抽取可打印字符串。通常你会结合 grep / sed / awk 等工具来“过滤”输出。

下面按常见需求说明几种过滤方式。


1. 基础用法

strings /bin/ls

2. 过滤包含特定关键字的字符串(grep)

strings /bin/ls | grep "usage"

忽略大小写:

strings /bin/ls | grep -i "error"

多个关键字(或):

strings /bin/ls | grep -E "error|warning|fail"

3. 排除某些字符串

strings /bin/ls | grep -v "debug"

排除多个:

strings /bin/ls | grep -v -E "debug|test"

4. 只显示长度足够的字符串

strings 默认最小长度是 4,可自定义:

strings -n 8 /bin/ls

5. 过滤特定 Section(高级)

查看支持的 section:

strings -a /bin/ls

只读取某个 section(如 .rodata):

strings -e l /bin/ls

6. 使用 awk 做更复杂过滤

例如只显示长度大于 10 的行:

strings /bin/ls | awk 'length($0) > 10'

7. 实际示例(排查 Debian 软件包)

dpkg -L bash | grep bin | while read f; do
  strings "$f" | grep -i "version"
done

8. 常见组合总结

目的 命令
包含 `strings file
排除 `strings file
长度 strings -n 8 file
多条件 `grep -E "a

如果你能说明 具体想过滤什么(比如:只保留中文、只保留路径、排除调试信息),我可以给你更精确的命令。

0 踩