在 Debian 里,strings 命令用于从二进制文件或数据中抽取可打印字符串。通常你会结合 grep / sed / awk 等工具来“过滤”输出。
下面按常见需求说明几种过滤方式。
strings /bin/ls
strings /bin/ls | grep "usage"
忽略大小写:
strings /bin/ls | grep -i "error"
多个关键字(或):
strings /bin/ls | grep -E "error|warning|fail"
strings /bin/ls | grep -v "debug"
排除多个:
strings /bin/ls | grep -v -E "debug|test"
strings 默认最小长度是 4,可自定义:
strings -n 8 /bin/ls
查看支持的 section:
strings -a /bin/ls
只读取某个 section(如 .rodata):
strings -e l /bin/ls
例如只显示长度大于 10 的行:
strings /bin/ls | awk 'length($0) > 10'
dpkg -L bash | grep bin | while read f; do
strings "$f" | grep -i "version"
done
| 目的 | 命令 |
|---|---|
| 包含 | `strings file |
| 排除 | `strings file |
| 长度 | strings -n 8 file |
| 多条件 | `grep -E "a |
如果你能说明 具体想过滤什么(比如:只保留中文、只保留路径、排除调试信息),我可以给你更精确的命令。