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

    文章

    796

    浏览量

    41753
  • Linux
    +关注

    关注

    87

    文章

    11342

    浏览量

    210337
  • 命令
    +关注

    关注

    5

    文章

    696

    浏览量

    22105

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    字符串在编程的应用实例

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

    字符串字符数组的区别

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

    字符串反转的实现方式

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

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

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

    base64字符串转换为二进制文件

    Base64是一种编码方法,用于将二进制数据转换为ASCII字符串。这种编码通常用于在不支持二进制数据的系统传输数据,例如电子邮件或网页。将Base64
    的头像 发表于 11-10 10:55 1625次阅读

    labview字符串数组转化为数值数组

    在LabVIEW,将字符串数组转换为数值数组是一项常见的任务,尤其是在处理数据采集、信号处理或用户输入时。 1. 理解LabVIEW的数据类型 在开始之前,了解LabVIEW的数据类型是非
    的头像 发表于 09-04 17:47 2818次阅读

    labview字符串如何转换为16进制字符串

    在LabVIEW,将字符串转换为16进制字符串是一个常见的需求,尤其是在处理数据通信和硬件接口时。LabVIEW提供了多种方法来实现这一转换,包括使用内置函数、编写VI(Virtual
    的头像 发表于 09-04 15:54 2982次阅读

    labview如何实现字符串换行

    1. 字符串换行的基本概念 在LabVIEW字符串换行通常指的是在字符串插入换行符,使得字符串
    的头像 发表于 09-04 15:47 2012次阅读

    labview中常用的字符串函数有哪些?

    ) : 功能:该函数用于返回字符串所包含的字符个数。 应用场景:常用于需要计算字符串长度的场景,如文件
    的头像 发表于 09-04 15:43 972次阅读

    labview字符串的四种表示各有什么特点

    。在LabVIEW字符串是一种基本的数据类型,用于表示文本信息。字符串在LabVIEW中有多种表示方式,每种方式都有其特定的应用场景和特点。以下是对LabVIEW
    的头像 发表于 09-04 15:40 697次阅读

    rtt studio终端无法打印字符串是怎么回事?

    求助:rtt studio新创建的项目使用自带终端可以打印字符串,但是将字符串输出语句注释掉再改回来终端就无法打印了,并且msh也未显示也无法使用输入,使用其他的串口调试助手看到了rtt的界面以及
    发表于 07-05 07:29

    锐评Ruby 3.4.0 默认启用字符串字面量冻结功能

    据悉,Ruby自2.3版起引入了“冻结”机制,通过使用frozen_string_literal: true魔法注释,文件内所有字符串字面量默认为冻结状态,防止开发过程无意修改
    的头像 发表于 05-17 15:44 423次阅读

    鸿蒙TypeScript学习第10天:【String(字符串)】

    String 对象用于处理文本(字符串)。
    的头像 发表于 04-08 14:32 886次阅读
    鸿蒙TypeScript学习第10天:【String(<b class='flag-5'>字符串</b>)】

    C语言字符串编译函数介绍

    在C语言中,字符串实际上是使用null字符O'终止的一维字符数组。因此,一个以null结尾的字符串,包含了组成字符串
    的头像 发表于 03-07 16:18 553次阅读
    C语言<b class='flag-5'>字符串</b>编译函数介绍