在 Debian(以及大多数 Linux 系统)里,strings 是一个命令行工具,用来从二进制文件或数据文件中提取可打印的字符串。下面按常见用法给你说明。
strings 会扫描文件,把长度足够、可打印的字符序列输出出来,常用于:
.so、可执行文件、core dumpstrings 文件名
示例:
strings /bin/ls
输出类似:
/lib64/ld-linux-x86-64.so.2
GNU
ls
Usage: %s [OPTION]... [FILE]...
strings -n 6 文件名
只显示 长度 ≥ 6 的字符串。
strings -t x 文件名
或:
strings -t d 文件名
x:十六进制偏移d:十进制偏移示例:
strings -t x /bin/ls
输出:
1234 /lib64/ld-linux-x86-64.so.2
5678 Usage: ls
strings -e l 文件名
常见编码:
s:7-bit ASCII(默认)l:16-bit little-endianb:16-bit big-endianS:UTF-16strings /proc/进程号/mem
⚠️ 需要权限,且不一定能完整读取。
通常已经安装(属于 binutils)。
如果没有:
sudo apt update
sudo apt install binutils
检查版本:
strings --version
strings a.out | grep home
strings a.out | grep -i version
strings unknown_bin | less
strings ≠ 安全分析工具(只能辅助)常配合:
file
objdump
readelf
xxd
hexdump
示例:
file a.out
strings a.out | less
如果你是想 看某类文件(如 .deb、.so、ELF、core dump),或者 排查某个具体问题,可以直接说,我可以给你更针对性的命令。