strings 在 Linux 下没有任何输出,通常不是命令坏了,而是目标里确实没有可打印字符串,或者用法/参数有问题。下面按常见原因逐一说明。
strings 只提取 可打印字符序列(默认长度 ≥ 4)。
例如:
strings empty.bin
如果文件是:
→ 就可能完全无输出
✅ 验证:
file yourfile
hexdump -C yourfile | head
错误示例:
strings
(等着你输入,看起来像“没输出”)
正确:
strings file
默认最小长度是 4
如果你的字符串是:
ab
cd
→ 不会显示
✅ 强制显示更短字符串:
strings -n 1 file
比如:
strings /dev/sda
可能无输出或报错
✅ 检查:
ls -l file
ls -l file
如果是 0 字节 → 很正常没输出
strings 默认只认 ASCII 可打印字符
例如中文:
你好
如果是 UTF-8,可能不显示或被忽略
✅ 尝试:
strings -e l file # 16-bit little endian
strings -e b file # 16-bit big endian
比如:
strings -x file
(不同版本参数不同)
✅ 查看帮助:
strings --help
man strings
file file
ls -l file
hexdump -C file | head
strings -n 1 file
你可以直接贴:
file 和 hexdump 输出我可以帮你判断 为什么完全没有字符串。