温馨提示×

怎样批量用strings命令

小樊
45
2026-07-07 04:37:55
栏目: 编程语言

如果你是想批量对多个文件执行 strings 命令,常见做法取决于你的系统(Linux / macOS)以及文件来源。下面按常见场景给你几种实用方法


一、对某个目录下的所有文件批量执行 strings

✅ 基本用法(递归)

strings *

✅ 递归处理子目录(推荐)

find . -type f -exec strings {} \;

如果每个文件单独输出并加文件名:

find . -type f -exec strings {} \; -print

或者更清晰一点:

find . -type f | while read f; do
    echo "=== $f ==="
    strings "$f"
done

二、只处理某些类型的文件

例如:只处理 .bin 文件

find . -name "*.bin" -exec strings {} \;

例如:排除某些目录

find . -type f ! -path "./.git/*" -exec strings {} \;

三、批量输出到文件(非常常用)

每个文件一个输出文件

for f in *; do
    strings "$f" > "$f.txt"
done

所有结果合并成一个文件

find . -type f -exec strings {} \; > all_strings.txt

四、并行加速(文件很多时)

使用 xargs(快)

find . -type f | xargs -n1 strings > all_strings.txt

使用 GNU parallel(更快)

find . -type f | parallel strings > all_strings.txt

五、只提取长度 ≥ N 的字符串(常用)

find . -type f -exec strings -n 8 {} \;

六、Windows 用户(WSL / Git Bash)

如果你在 Windows:

  • 推荐用 WSL
  • 或使用 Git Bash 执行上述命令

七、常见用途提醒

strings 常用于:

  • 逆向分析
  • 固件提取
  • 日志/二进制取证
  • 查找隐藏路径、URL、密钥

如果你能具体说一下:

  • ✅ 操作系统
  • ✅ 文件类型(ELF / PE / 固件 / 任意)
  • ✅ 想输出到终端还是文件

我可以给你最合适的一行命令

0