在 Debian 下,“strings”通常指 binutils 中的 strings 命令,用于从二进制文件中提取可打印字符串。如果你是问如何批量处理一批文件(如目录下的所有二进制/库/可执行文件)来提取 strings,下面给你几种常见、实用的方法。
strings /usr/bin/* > all_strings.txt
find /path/to/dir -type f -exec strings {} \; > strings.txt
如果文件很多,建议加 -print0 + xargs 提高效率:
find /path/to/dir -type f -print0 | xargs -0 strings > strings.txt
避免对文本文件误用 strings:
file /usr/bin/* | grep -i 'ELF' | cut -d: -f1 | xargs strings > elf_strings.txt
或递归:
find /path -type f -exec file {} \; | grep ELF | cut -d: -f1 | xargs strings
mkdir out
for f in /usr/bin/*; do
strings "$f" > "out/$(basename $f).txt"
done
find /path -type f -exec sh -c '
echo "==== $1 ===="
strings "$1"
' _ {} \;
strings binary | grep -i 'error\|password\|url'
strings -n 8 binary
.deb 包内文件dpkg-deb -x package.deb extracted/
find extracted -type f -exec strings {} \;
strings -a /lib/x86_64-linux-gnu/libc.so.6
-a:扫描整个文件(不只是数据段)
xargs -P(并行):find /path -type f -print0 | xargs -0 -P4 strings
strings 默认只扫描 可加载段,需要时加 -a| sort -u 去重如果你指的是 “Debian 软件包中的 strings 文件”、gettext / i18n 的 .strings、或 本地化字符串批量替换,可以告诉我具体场景,我可以给你更针对性的方案。