1.命令简介
strings 命令是二进制工具集 GNU Binutils 的一员,用于打印文件中可打印字符串,文件可以是文本文件(test.c),但一般用于打印二进制目标文件、库或可执行文件中的可打印字符。字符串默认至少是 4 个或更多可打印字符的任意序列,可使用选项改变字符串最小长度。
2.命令格式

3.选项说明
注意,长选项的参数对于短选项也是必须的。
-a,--all,-
扫描整个文件而不是只扫描目标文件初始化和装载段
-d,--data
仅打印文件中已初始化、加载的数据段中的字符串,这可能会减少输出中的垃圾量
-e,--encoding=ENCODING
选择字符编码与字节序。encoding可取值s=7bits的ASCII, S=8bits的Latin1, {b,l}=16bits宽字符大小端编码, {B,L}=32bits宽字符大小端编码。其中b,B代表bigendian,l,L代表littleendian
-f,–-print-file-name
在显示字符串前先显示文件名
--help
显示帮助信息
-,-n,--bytes=MIN_LEN
指定可打印字符序列的最小长度,而不是默认的4个字符
-o
类似--radix=o
-t,--radix=RADIX
输出字符串在文件中的偏移位置,RADIX可取值o(octal,八进制)、d(decimal,十进制)或者x(hexadecimal,十六进制)
-T,--target=BFD_NAME
指定二进制文件格式
-v,-V,--version
显示版本信息
-w,--include-all-whitespace
默认情况下,Tab 和空格字符包含在字符串中,但其他空白字符除外,比如换行符和回车符等字符不是。-w 使所有的空白字符被认为是字符串的一部分
@FILE
从指定的文件FILE中读取命令行选项
4.常用示例
(1)打印可执行文件中的所有可读字符串。
strings/bin/ls
/lib64/ld-linux-x86-64.so.2
libselinux.so.1
_ITM_deregisterTMCloneTable
__gmon_start__
_Jv_RegisterClasses
_ITM_registerTMCloneTable
_init
fgetfilecon
freecon
lgetfilecon
...
(2)查看某一个字符串属于哪个文件。
strings-f*|grep"xxx"
(3)查看glibc支持的版本。libc.so.6是c标准库,而这个标准库的制作者为了让库的使用者知道该库兼容哪些版本的标准库,就在这个库中定义了一些字符串常量,使用如下命令可以查看向下兼容的版本。
strings/lib64/libc.so.6|grepGLIBC
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_PRIVATE
参考文献
[1] strings manual
[2] GNU Binutils
责任编辑:xj
原文标题:每天一个 Linux 命令(100):strings 命令
文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
二进制
+关注
关注
2文章
809浏览量
43290 -
Linux
+关注
关注
88文章
11855浏览量
219833 -
命令
+关注
关注
5文章
763浏览量
24114
原文标题:每天一个 Linux 命令(100):strings 命令
文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
求助 LabVIEW 字符串比较
请教大神 ,用一个字符串和多个字符串比较程序应该怎么做。
比如:A字符串和B字符串组(B组字符串个数不定可以是一个也可以是10个) 比较
A
发表于 03-02 17:24
字符串关联数字变量如何使用?我们的地址都是16位数据,可以使用16位数字变量显示字符串吗?
字符串关联数字变量如何使用?我们的地址都是16位数据,可以使用16位数字变量显示字符串吗?
发表于 12-15 08:24
Shell历史命令history用法
使用 !string 重复执行最近的以指定字符串开头的命令
「介绍」:!string 用于重复执行最近的以指定字符串开头的命令。
「示例代
发表于 12-02 06:10
tsc mh641系列工业打印机:高清打印,精准高效
模糊导致的扫描失误。同时,设备支持连续批量打印,内置智能送纸校准系统,可自动调整纸张张力,减少卡纸、偏位等问题,大幅提升打印稳定性。此外,tsc工业条码打印机还配备直观
求助,关于C代码中的printf打印的疑问求解
在使用E203 testbench执行附带的benchmark测试用例时候,得到如下打印信息:
CPU验证小白一枚,有个问题不是很理解:黄色框框内的字符看起来应该是C代码中的printf语句
发表于 11-10 07:54
飞凌嵌入式ElfBoard-Linux系统基础入门-文件操作相关shell命令
:2.5.13 grep文本查找命令命令:grep功能:用于查找文件里符合条件的字符串参数:grep [选项]选项说明-r递归方式查找符合条
发表于 09-30 09:46
求助,关于cubemx + nano 4.1.1 + STM32F405时钟的问题求解
NANO 4.1.1版本的MDK工程,mian里代码写的是一秒打印一次字符串,但是出现的效果了,一秒钟一次性打印了10次字符串
看起来似乎是有关时钟配置的问题,因为一秒钟刚好
发表于 09-16 06:05
在Python中字符串逆序有几种方式,代码是什么
对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序
linux系统awk特殊字符命令详解
在Linux系统中,awk 是一种非常强大的文本处理工具,能够对文本数据进行分析、格式化和筛选。利用其内置的特殊字符和操作符,用户可以实现复杂的数据处理任务。以下对一些常见的awk特殊字符和操作符
哪些场景要使用到RFID标签打印机?RFID标签打印机一般多少钱?
RFID标签打印机是一种将射频识别技术与打印技术相结合的设备,可实现对RFID标签的信息录入与表面信息打印,广泛应用于多个领域。以下是一些常
harmony-utils之StrUtil,字符串工具类
,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志、异常捕获、字符、字符串、数字、集合
strings命令:用于打印文件中可打印字符串
评论