Linux 查找文件中的字符串 -- strings
Linux 查找文件中的字符串 – strings
2023年7月20日
摘要
在 Linux 中,我们有时会需要去查找文件中的字符串,或是在一堆文件中查找某个字符串,这个时候我们就可以使用 strings
命令来完成。
命令简介
基本用法
strings
可以查找文件中的有效字符串,无论是文本文件还是二进制文件,时常搭配 grep
一起使用。最简单的用法是:
strings FILE | grep TARGET
strings
将查找出 FILE
中的所有字符串,然后通过管线传输至 grep
进行筛选。
常用选项
strings
命令有一些常用选项:
-d
- 只搜索数据段-a
- 搜索整个文件,不止是数据段-n N
- 指定字符串最少包含多少字符,默认为 4,最大 4096-t [d/o/x]
- 以十进制(d)或八进制(o)或十六进制(x)显示找到的字符串的偏移量-f
显示结果时也显示文件名,在多文件搜索时常用
其他场景
搜索 GLIBC 支持的版本
例如系统内安装的 libc
在 /lib64/libc.so.6
,我们想查看其中支持的 GLIBC
版本,就可以:
strings /lib64/libc.so.6 | grep GLIBC
可以得到:
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_2.18
GLIBC_2.22
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
从多个文件中查找某一字符串
这个场景不用过多解释,使用以下命令:
find -name "*" | xargs strings -f | grep TARGET
其中 xargs
和 find
的用法以后再写。
License:
CC BY 4.0