0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

strings命令:用于打印文件中可打印字符串

Linux爱好者 来源:Linux爱好者 作者:恋猫大鲤鱼 2021-02-02 13:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

    浏览量

    42799
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217980
  • 命令
    +关注

    关注

    5

    文章

    746

    浏览量

    23447

原文标题:每天一个 Linux 命令(100):strings 命令

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    求助,关于C代码的printf打印的疑问求解

    在使用E203 testbench执行附带的benchmark测试用例时候,得到如下打印信息: CPU验证小白一枚,有个问题不是很理解:黄色框框内的字符看起来应该是C代码的printf语句
    发表于 11-10 07:54

    labview如何生成一个带字符串返回的dll

    labview如何生成一个dll,如下图,要求一个输入,类型是字符串,返回类型也是字符串
    发表于 08-28 23:20

    在Python字符串逆序有几种方式,代码是什么

    对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python对于字符串的逆序
    的头像 发表于 08-28 14:44 784次阅读

    哪些场景要使用到RFID标签打印机?RFID标签打印机一般多少钱?

    RFID标签打印机是一种将射频识别技术与打印技术相结合的设备,实现对RFID标签的信息录入与表面信息打印,广泛应用于多个领域。以下是一些常
    的头像 发表于 07-15 15:44 687次阅读
    哪些场景要使用到RFID标签<b class='flag-5'>打印</b>机?RFID标签<b class='flag-5'>打印</b>机一般多少钱?

    harmony-utils之StrUtil,字符串工具类

    ,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志、异常捕获、字符字符串、数字、集合
    的头像 发表于 07-03 11:32 369次阅读

    如何将dif_time打印到 uart 或将其保存在文件

    uint8_t 缓冲区,然后将其打印到 UART 控制台或保存在文件。 我正在寻找一些有关如何实现这一目标的指导! 代码片段 //全局变量 uint32_t 开始时间; uint32_t停止时间
    发表于 05-15 06:51

    Linux文件管理命令详解

    cat命令描述:该命令用于连接文件打印到标准输出设备上。
    的头像 发表于 02-17 10:34 890次阅读
    Linux<b class='flag-5'>文件</b>管理<b class='flag-5'>命令</b>详解

    Chart FX——打印图表

    另一个重要的问题是图表打印的页数。当您需要打印包含大量点的图表(滚动)时,Chart FX 将根据需要打印尽可能多的页面。若使用压缩属性, Chart FX 会通过重新计算适当的值使
    的头像 发表于 01-13 09:12 635次阅读
    Chart FX——<b class='flag-5'>打印</b>图表

    字符串在数据库的存储方式

    数据库是现代信息技术存储和管理数据的核心组件。字符串作为最常见的数据类型之一,在数据库的存储方式对其性能和扩展性有着重要影响。 数据类型 固定长度
    的头像 发表于 01-07 15:41 1252次阅读

    字符串在编程的应用实例

    常以字符串的形式出现。例如,在命令行程序,用户输入的命令和参数都是字符串。 输出信息 :程序也经常需要向用户显示信息,这些信息同样可以以
    的头像 发表于 01-07 15:33 1131次阅读

    字符串字符数组的区别

    在编程语言中,字符串字符数组是两种基本的数据结构,它们都用于存储和处理文本数据。尽管它们在功能上有一定的重叠,但在内部表示、操作方式和使用场景上存在显著差异。 1. 内部表示 字符串
    的头像 发表于 01-07 15:29 1678次阅读

    字符串反转的实现方式

    在编程字符串反转是一个基础而重要的操作,它涉及到将一个字符串字符顺序颠倒过来。这个操作在多种编程语言中都有不同的实现方式,本文将探讨
    的头像 发表于 01-07 15:27 1244次阅读

    字符串处理方法 字符串转数字的实现

    在编程,将字符串转换为数字是一个常见的需求。不同的编程语言有不同的方法来实现这一功能。以下是一些常见编程语言中的字符串转数字的实现方法: Python 在Python,可以使用内置
    的头像 发表于 01-07 15:26 1399次阅读

    浅谈点阵打印机的功能特点

    点阵打印机(Dot Matrix Printer)是一种使用一系列细小的针来打印字符和图形的打印机。这些针排列在一个或多个垂直列,通过撞击色带并在纸上留下墨水点形成文本或图像。因为它
    的头像 发表于 12-27 17:17 1932次阅读
    浅谈点阵<b class='flag-5'>打印</b>机的功能特点

    Linux grep命令详解

    Linux grep命令是一种非常常用的文本搜索工具,它可以在给定的文件搜索匹配的字符串,并输出匹配的行。grep是全称“global search regular expressi
    的头像 发表于 12-25 09:39 1789次阅读