精华内容
下载资源
问答
  • Linux工具篇 | Ubuntu安装string命令
    千次阅读
    2020-09-07 22:11:46

    一、string命令安装

    执行如下命令:

    $ sudo apt-get install binutils

    二、GNU binutils

    GNU binutils是一组二进制工具集。包括:addr2line ar gprof nm objcopy objdump ranlib size strings strip。其中 ar 用于建立、修改、提取档案文件(archive)。archive是一个包含多个被包含文件的单一文件(也称之为库文件),其结构保证了可以从中检索并得到原始的被包含文件(称之为archive中的member)。member的原始文件内容、模式(权限)、时间戳、所有者和组等属性都被保存在 archive中。member被提取后,他们的属性被恢复到初始状态。

    详细参考:https://www.crifan.com/files/doc/docbook/binutils_intro/release/html/binutils_intro.html

    更多相关内容
  • 本篇文章主要介绍了linux中的strings命令简介,在linux下搞软件开发的朋友, 几乎没有不知道strings命令的。非常具有实用价值,需要的朋友可以参考下。
  • Linuxstrings 工具常用方法

    万次阅读 2018-07-09 22:47:29
    Linuxstrings 工具常用方法 strings - print the strings of printable characters in files. strings prints the printable character sequences that are at least 4 characters long and are followed by an ...

    Linux:strings 工具常用方法

    strings - print the strings of printable characters in files.

    strings prints the printable character sequences that are at least 4 characters long and are followed by an unprintable character.

    strings is mainly useful for determining the contents of non-text files.

    string 工具可以对任何文件的内容进行分析,并输出可打印字符长度不小于4的串。

    这里“任何文件”,包括文本文件和二进制文件。

    其实“文本文件”和“二进制文件“两者并没有啥差别,所有的文件本质都是 Binary,文本文件只不过是一些特殊的 Binary 。

    这里“连续的可打印字符最小长度”是可以被选项设置的,并非固定不可修改的4。

    常用选项:

    -f Print the name of the file before each string.
    -n Print sequences of characters that are at least min-len characters long, instead of the default 4.

    Code:

    /*
     * Filename     : main.c
     * Author       : jiang
     * Description  : test-file
     * Date         : 2018/07/09 22:03:57
     */
    char MODULE_VER[] = "REDISDRIVER_VER_0.17_20180709";
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    int main()
    {
        printf("1\n");
        printf("22\n");
        printf("333\n");
        printf("4444\n");
        printf("55555\n");
        printf("666666\n");
    
        printf("update something\n");
    
        printf("global unique identifier\n");
    
        return 0;
    }

    编译 && 运行:

    [test1280@localhost ~]$ gcc -o main main.c
    [test1280@localhost ~]$ ./main
    1
    22
    333
    4444
    55555
    666666
    update something
    global unique identifier

    Case 1:

    快速查看模块版本。

    我们项目组的每个程序模块,都有一个模块子版本号来唯一标识。

    例如上面代码中的:

    char MODULE_VER[] = "REDISDRIVER_VER_0.17_20180709";

    假如我在一个装有我们项目组研发的软件平台环境中看到一个模块,如何快速地确定这个模块的版本呢?

    使用 strings 命令 + grep 命令 可以快速地将版本号过滤查找出来:

    [test1280@localhost ~]$ strings main | grep "REDISDRIVER"
    REDISDRIVER_VER_0.17_20180709

    Case 2:

    快速定位某源文件编译生成哪个 Binary 文件。

    例如在 main.c 文件中有:

    printf("global unique identifier\n");

    我想要知晓,main.c 源文件最后会编译到哪个 Binary 文件中,如何查找呢?

    [test1280@localhost ~]$ strings -f * | grep "global unique identifier"
    main: global unique identifier
    main.c:     printf("global unique identifier\n");

    从上面的输出可以看到,main.c 源文件最后编译到 main Binary 文件中啦!

    注:由于 * 包含了 main.c 源文件,自然输出了源文件 main.c 一项。优化时可以判断是否有 x 权限,等等。


    Case 3:

    快速确认 重新编译 是否成功。

    当项目很庞大时,如果更新单个文件,然后重新 make 可能由于五花八门的各类原因导致编译、链接错误,使得更新过的代码并未正确反映到对应的可执行文件中。

    例如:

    更新前为

        printf("update something\n");
    [test1280@localhost ~]$ strings main | grep "update something"
    update something

    更新后为

    printf("update something @ 20180709 by jiang\n");
    [test1280@localhost ~]$ strings main | grep "20180709 by jiang"
    update something @ 20180709 by jiang

    这样我们可以在不运行程序之前,确认代码是否更新成功。


    注:

    通过 -n 可以设置“连续的可打印字符最小长度”。

    如果一个可打印字符串满足这个长度才会输出,否则将不输出。

    举个栗子:

    输出大于等于6的字符串

    [test1280@localhost ~]$ strings -n 6 main 
    /lib64/ld-linux-x86-64.so.2
    __gmon_start__
    libc.so.6
    __libc_start_main
    GLIBC_2.2.5
    fffff.
    666666
    update something @ 20180709 by jiang
    global unique identifier
    REDISDRIVER_VER_0.17_20180709

    可以观察到,”666666” 被输出出来,其余的可打印字符串由于长度“不达标”故并未输出。

    展开全文
  • linux命令strings

    2021-05-10 05:23:45
    linux命令strings,其man信息如下:strings(1) GNU Development Tools strings(1)NAMEstrings - 显示文件中的可打印字符总览 (SYNOPSIS)strings[-a|-|--al...

    linux命令strings,其man信息如下:

    strings(1)                                        GNU Development Tools                                        strings(1)

    NAME

    strings - 显示文件中的可打印字符

    总览 (SYNOPSIS)

    strings

    [-a|-|--all] [-f|--print-file-name] [-o] [--help] [-v|--version] [-n min-len|-min-len|--bytes=min-len] [-t

    {o,x,d}[--target=bfdname] |--radix={o,x,d}] file

    描述 (DESCRIPTION)

    For each file given, GNU strings 显示 每个 指定的 file 文件里 包含的 所有 有 4个 (或者 用 选项 指定 的 数字) 以 上

    连 续 可打印 字符 的字符串, 在 之后 紧跟着 一个 不可 打印 的 字符. 默认 情况 下, 它 只显示 目标文件 初始化 和 装载

    段 的 字符串; 对于 其它 类型 的 文件 它 显示 整个 文件 里包含 的 所有 字符串.

    strings 一般 用来 查看 非 文本 文件 的 内容.

    选项 (OPTIONS)

    在 这里 并列 的 长选项 和 短选项 都是 等价的.

    -a

    --all

    -      不 只是 扫描 目标 文件 初始化 和 装载 段, 而是 扫描 整个 文件.

    -f

    --print-file-name

    在 显示 字符串 之前 先 显示 文件名.

    --help 在 标准 输出 打印 strings 命令 的 选项

    列表

    然后 退出.

    -v

    --version

    在 标准 输出 打印 strings 命令 的 版本号 然后 退出.

    -n min-len

    -min-len

    -bytes=min-len

    打印 至少 min-len 字符 长 的 字符串. 默认的 是 4.

    -t {o,x,d}

    --radix={o,x,d}

    在 字符串 前面 显示 其在 文件 中 的 偏移量. 选项 中 的 单个 字符 指定 偏移量的 进制 是 八进制, 十六进制 还

    是 十进制.

    --target=bfdname

    指定 一种 目标 代码 格式 来 代替 你的 系统的 默认 格式. 关于 可用的 目标 代码格式 请 参见 objdump(1).

    -o     同 -t o.

    ------------------------------

    strings - print the strings of printable characters in files.

    For each file given, GNU strings prints the printable character sequences that are at

    least 4 characters long (or the number given with the options below) and are followed by

    an unprintable character.   By default, it only prints the strings from the initialized

    and loaded sections of object files; for other types of files, it prints the strings from

    the whole file.

    strings is mainly useful for determining the contents of non-text files.

    可见strings能输出文件中的可打印字符串(可指定字符串的最小长度),通常用来查看非文本文件(如二进制可执行文件)中的可读内容。比如:

    [yixbao.cn]#strings /lib/tls/libc.so.6 | grep GLIBC

    GLIBC_2.0

    GLIBC_2.1

    GLIBC_2.1.1

    GLIBC_2.1.2

    GLIBC_2.1.3

    GLIBC_2.2

    GLIBC_2.2.1

    GLIBC_2.2.2

    GLIBC_2.2.3

    GLIBC_2.2.4

    GLIBC_2.2.6

    GLIBC_2.3

    GLIBC_2.3.2

    GLIBC_2.3.3

    GLIBC_2.3.4

    GLIBC_PRIVATE

    这样就能看到glibc支持的版本。

    http://yixbao.cn/html/diannaojishu/200808/12-195.html

    展开全文
  • linux 命令之strings

    千次阅读 2015-05-06 16:00:25
    strings 命令是在对象文件或二进制文件中查找可打印的字符串。字符串是4个或者更多可打印字符串的任意序列,以换行符或者空字符结束。strings语法 strings [options] file_nameoptions: -a / -all : 扫描整个文件...

    strings 命令是在对象文件或二进制文件中查找可打印的字符串。字符串是4个或者更多可打印字符串的任意序列,以换行符或者空字符结束。

    strings语法
    strings [options] file_name

    options:
    -a / -all : 扫描整个文件而不是只扫描目标文件初始化和装载段。
    -f / -print-file-name:在显示字符串前显示文件名
    -n / -bytes=[number]:找到并且输出说有NULL终止符序列
    - num :设置显示的最少字符数(num是一个数字),默认是4个字符
    -t {o,d,x}/-radix={o,d,x} :输出字符的位置,基于八进制,十进制或者十六进制。
    -o :类似-radix=o
    -T /-target= : 指定二进制文件格式
    @:从文件中读取选项

    示例:

    $ gcc hello.c -o hello
    $ strings hello
    /lib/ld-linux.so.2
    __gmon_start__
    libc.so.6
    _IO_stdin_used
    printf
    __libc_start_main
    GLIBC_2.0
    PTRh
    UWVS
    [^_]
    ;*2$"
    
    
    $ cat test 
    -f
    -t d
    $  strings @test hello
    hello:     340 /lib/ld-linux.so.2
    hello:     541 __gmon_start__
    hello:     556 libc.so.6
    hello:     566 _IO_stdin_used
    hello:     581 printf
    hello:     588 __libc_start_main
    hello:     606 GLIBC_2.0
    hello:     824 PTRh
    hello:    1040 UWVS
    hello:    1132 [^_]
    hello:    1359 ;*2$"
    
    展开全文
  • linux中的strings命令

    2022-03-29 21:59:48
    strings命令在对象文件或二进制文件中查找可打印的字符串。字符串可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。 常用参数: -a 扫描整个文件而不是只扫描目标文件初始...
  • strings命令输出的字符串是至少包含连续4个可打印字符的,这个可以通过参数来修改。2.常用参数-a/--all:扫描整个文件而不是只扫描目标文件初始化和装载段-f/--print-file-name:在显示字符串前先显示文件名-min-len...
  • Fatmawati Achmad Zaenuri/Shutterstock.comFatmawati Achmad Zaenuri / Shutterstock.com Want to see the text inside a binary or data file? The Linux strings command pulls those bits of text—called ...
  • linuxstrings命令

    2021-05-12 08:25:17
    linux命令stringsstrings - 显示文件中的可打印字符strings 一般用来查看非文本文件的内容.[-a|-|--all] [-f|--print-file-name] [-o] [--help] [-v|--version] [-n min-len|-min-len|--bytes=min-len] [-t{o,x,d}[-...
  • strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。语法strings [ -a ] [ - ] [ -o ] [ -t Format ] ...
  • 推荐:更多Linux文件查找和比较命令关注:linux命令大全strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很...
  • 原标题:每天一个 Linux 命令(100):strings 命令1.命令简介strings 命令是二进制工具集 GNU Binutils 的一员,用于打印文件中可打印字符串,文件可以是文本文件(test.c),但一般用于打印二进制目标文件、库或可执行...
  • linux strings命令

    千次阅读 2018-08-23 08:32:12
    Linux下搞软件开发的朋友, 几乎没有不知道strings命令的。我们先用man strings来看看:     strings - print the strings of printable characters in files.  意思是, 打印文件中可...
  • linux中的strings命令分析

    千次阅读 2018-11-06 19:55:55
    linux下搞软件开发的朋友, 几乎没有不知道strings命令的。我们先用man strings来看看:  strings - print the strings of printable characters in files.  意思是, 打印文件中可打印的字符。 我...
  • Linux Redis 的安装步骤详解 前言: Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表...
  • 转载原文地址: https://blog.csdn.net/stpeace/article/details/50077677
  • strings命令 strings ***.so | grep 关键字 strings命令是在对象文件或者二进制文件中查找可打印的字符串 我们一般使用 strings命令是在对象文件或者二进制文件中查找可打印的字符串 ...
  • Linux安装RabbitMQ

    千次阅读 2021-09-12 16:24:42
    Linux安装RabbitMQ 注意: 使用 CentOS-7-x86_64-DVD-1810.iso 使用 CentOs6也行 安装依赖 yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ...
  • strings命令(Win、Linux均可适用)

    千次阅读 2020-04-03 18:27:48
    strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。 语法 strings [ -a ] [ - ] [ -o ] [ -t ...
  • 妙用linux strings命令

    千次阅读 2021-02-28 18:42:04
    一个小小的linux命令strings,能帮人省掉很多麻烦,加强心安。在后续的文章中,会多分享一些开发实战方面的经验、技巧等干货,希望对初入职场的人有帮助。职场不易,都有压力,每位大侠都曾经是菜鸟,只要不断学习、...
  • Linuxstrings命令查看glibc版本

    千次阅读 2018-09-28 14:53:01
    安装运行一些软件时,经常会遇到glibc的版本错误, 通过下面的方法,可以查看本机或者安装软件自带的glibc版本。 strings能输出文件中的可打印字符串(可指定字符串的最小长度),通常用来查看非文本文件(如二...
  • strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。语法strings [ -a ] [ - ] [ -o ] [ -t Format ] ...
  • 比如,对于完全安装的WIN2K或者说启动了 简单网络管理协议(Linux SNMP)的系统来说,仍然将存在非常致命的隐患,完全将你的系统暴露给所有人。一般来说,的确是这样。但要做到真正完善的安全,还需要从每一个细节去...
  • Linux 安装PostGIS 3.1全过程

    千次阅读 2022-01-18 11:23:40
    Linux 安装 PostgreSQL详细过程 PostgreSQL 安装情况查看 切换postgres系统账号,输入psql,进行数据库用户postgres的密码修改 执行psql,默认进入postgres用户的postgres数据库 使用\du查看用户 使用\l...
  • 用于查找版本: strings /bin/ls | grep -i libc 运行结果: libc.so.6 __libc_start_main GLIBC_2.14 GLIBC_2.4 GLIBC_2.17 GLIBC_2.3.4 GLIBC_2.2.5 GLIBC_2.3 用在代码里: ...
  • Linux软件安装及修改软件源

    千次阅读 2021-11-27 19:36:20
    2.安装软件 sudo apt-get install <软件包名> 软件包名一般为软件名,也可使用sudo apt-cache search <关键字> 模糊搜索。 3.查看apt帮助信息apt-get --help # 删除软件及其配置文件 apt-get --purge ...
  • Linux安装GLIBC

    千次阅读 2019-09-24 16:23:44
    一、Linux安装GLIBC 1.1 查看GLIBC版本 strings /lib64/libc.so.6 | grep GLIBC 1.2 安装升级GLIBC wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz wget ...
  • linux命令strings简介

    千次阅读 2019-03-15 20:58:51
    ​先用man strings来看看: strings-printthestringsofprintablecharactersinfiles. 意思是, 打印文件中可打印的字符。 我来补充一下吧, 这个文件可以是文本文件(test.c), 可执行文件(test), 动态链接库...
  • 用途说明打印文件中的可打印字符串(print the strings of printable characters in files)。常用来在二进制文件中查找字符串,与grep配合使用。strings命令输出的字符串是至少包含连续4个可打印字符的,这个可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,594
精华内容 21,837
关键字:

linux strings 安装