strings 是 Linux / Unix 系统中的一个命令行工具,常用于从二进制文件或任意文件中提取可打印的字符串。
在 Linux 中,很多文件(如可执行程序、库文件、镜像、core dump、数据包等)都是二进制格式的,strings 可以扫描这些文件,把其中连续的可打印字符提取出来,方便人阅读。
简单说:
strings = 从“乱码”文件里找“能看懂的文字”
strings 文件名
示例:
strings /bin/ls
会输出 ls 命令里所有可读字符串,例如:
Usage: ls [OPTION]... [FILE]...
GNU coreutils
ls.c
| 参数 | 说明 |
|---|---|
-n N |
只显示长度 ≥ N 的字符串 |
-a |
扫描整个文件(默认行为) |
-f |
显示文件名 |
-t x |
显示字符串在文件中的偏移(十六进制) |
-e |
指定字符编码(如 s=7-bit, l=16-bit) |
示例:
strings -n 6 example.bin
strings -t x binary_file
cat:只能看文本文件hexdump / xxd:看十六进制和原始数据strings:只看“像文字”的部分strings 不能解密,只能显示明文字符串如果你愿意,我也可以:
strings vs grep