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

    文章

    772

    浏览量

    41549
  • Linux
    +关注

    关注

    87

    文章

    11191

    浏览量

    208628
  • 命令
    +关注

    关注

    5

    文章

    671

    浏览量

    21959

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

    labview扫描字符串怎么用

    LabVIEW 是一种流程化编程语言和开发环境,主要用于控制、测量和监测系统。在 LabVIEW ,扫描字符串是一项常见的任务,它允许用户按照一定的模式从输入字符串中提取所需的信息。
    的头像 发表于 12-29 10:12 1747次阅读

    labview扫描字符串怎么用

    LabVIEW是一种图形化编程语言,用于开发控制、测量和监控系统。虽然它主要用于工程和科学领域,但也可以用于处理文本和字符串。 在LabVIEW
    的头像 发表于 12-26 16:58 1761次阅读

    labview怎么对字符串的进行实时处理

    LabVIEW是一种用于开发控制、测试和测量系统的可视化编程环境,它提供了许多处理字符串的功能。在LabVIEW,可以使用不同的函数和工具来实时处理字符串。下面我将详细介绍一些常见的
    的头像 发表于 12-26 14:12 1587次阅读

    oracle字符串split成多个

    Oracle是一种广泛使用的关系型数据库管理系统,它提供了许多强大的功能和函数,用于处理和操作数据。其中之一就是字符串分割(split)方法,该方法用于将一个字符串按照指定的分隔符分割
    的头像 发表于 12-06 09:54 4971次阅读

    oracle拼接字符串函数

    在Oracle,我们可以使用 CONCAT 函数来拼接字符串。CONCAT 函数接受两个参数,它将这两个参数连接起来并返回相应的字符串结果。 语法示例: CONCAT(string1
    的头像 发表于 12-06 09:49 2731次阅读

    MySQL替换字符串函数REPLACE

    MySQL是目前非常流行的开源数据库管理系统之一,它具有强大的功能和性能。其中之一的字符串函数REPLACE,可以用于替换字符串的指定字符
    的头像 发表于 11-30 10:44 1405次阅读

    c语言字符串定义

    C语言是一种强大而广泛使用的编程语言,字符串是其中一个非常重要的概念。在C语言中,字符串是由一系列字符组成的数组,它可以表示文本、数字等各种类型的数据。在本文中,我们将详尽、详实、细致地介绍C语言
    的头像 发表于 11-24 10:02 1720次阅读

    python如何统计字符串字母个数

    Python中统计字符串字母个数的方法有多种,下面我会详细介绍一些常用的方法。 方法一:使用循环遍历字符串 该方法通过循环遍历字符串的每
    的头像 发表于 11-23 16:29 1.2w次阅读

    linux搜索文件里的字符串

    文本文件搜索指定的字符串,并将包含该字符串的行打印出来。 用法示例: grep "search_text" file_name grep
    的头像 发表于 11-23 10:20 1431次阅读

    字符串如何转换成日期型

    随着计算机技术的不断发展,我们经常遇到需要处理日期的情况。在编程字符串是最常见的日期输入格式,在许多情况下,我们需要将字符串转换为日期类型以便进行日期计算和比较。本篇文章将详细介绍如何使用不
    的头像 发表于 11-17 16:27 9750次阅读

    mysql字符串包含某个字符串

    将详尽、详实、细致地探讨MySQL字符串包含的实现方法。 在MySQL,可以通过使用内建函数和通配符来实现字符串包含的操作。下面将详细介绍几种常用的方法: 使用LIKE通配符: L
    的头像 发表于 11-16 14:52 3498次阅读