温馨提示×

如何过滤debian strings

小樊
39
2026-09-01 03:45:10
栏目: 智能运维

在 Debian 相关语境中,“strings” 通常指:

  1. strings 命令(提取二进制文件中的可打印字符串)
  2. Debian 软件包中的字符串(如 .po/.mo 翻译文件、源码中的字符串)
  3. /usr/bin/strings 来自 binutils

下面按常见需求说明“如何过滤 Debian strings”。


一、用 strings 命令并过滤内容

基本用法

strings /bin/ls

配合 grep 过滤

strings /bin/ls | grep -i error

只显示特定长度以上的字符串

strings -n 6 /bin/ls

按编码过滤(如 UTF-8)

strings -e l /bin/ls

二、过滤 Debian 软件包中的字符串

1. 从 .deb 包中提取并过滤

dpkg-deb -x package.deb ./out
strings ./out/usr/bin/foo | grep "version"

2. 查看已安装软件包的字符串

dpkg -L nginx | grep bin | xargs strings | grep config

三、过滤源码中的字符串(Debian 源码包)

下载源码

apt source coreutils

过滤源码中的字符串

grep -R "gettext" coreutils-*/

四、过滤翻译字符串(.po / .mo

提取 .po 字符串

msgcat *.po | grep "msgid"

查看已编译 .mo

msgunfmt locale/zh_CN/LC_MESSAGES/app.mo | grep "打开"

五、只想“过滤掉 Debian 自己的字符串”

如果你是指排除 Debian 特定字符串(如构建路径、maintainer):

strings binary | grep -v "debian"
strings binary | grep -v "/build/"

六、推荐组合示例

strings -n 5 /usr/bin/apt | grep -i "http" | grep -v "debian"

如果你能具体说明:

  • 二进制?源码?.deb
  • 查找 / 排除 / 提取 哪类字符串?

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

0