`

Linux命令学习---Strings(原创)

阅读更多

strings 命令
用途
在对象文件或二进制文件中查找可打印的字符串。 

语法
strings [ -a ] [ - ] [ -o ] [ -t Format ] [ -n Number ] [ -Number ] [ File ... ]

描述

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

标志
-a 或 - 搜索整个文件,而不仅仅是数据段,以寻找可打印的字符串。如果省略这个标志,则 strings 命令只在对象文件的初始化数据空间内寻找。

-n Number 指定最小的字符串长度(除了缺省的 4 个字符以外)。字符串长度的最大值是 4096。这个标志与 -Number 标志相同。
-o 列出文件中每个跟随在其八进制偏移量之后的字符串。这个标志与 -t o 标志相同。
-t Format 列出从文件最开始起,每个跟随在其偏移量之后的字符串。该格式取决于用作 Format 变量的字符。
d
以十进制写下偏移量。
o
以八进制写下偏移量。
x
以十六进制写下偏移量。
注:当 -o 和 -t Format 标志在一个命令行上多次定义,则最后指定的标志控制 strings 命令的行为。
-Number 指定最小的字符串长度(除了缺省的 4 个字符以外)。字符串长度的最大值是 4096。这个标志与 -n Number 标志相同。
File 要搜索的二进制文件或对象文件。

退出状态
该命令返回以下退出值:
0 表示命令成功运行。
>0 表示出错。

strings 命令显示:

以十六进制写下偏移量,打印文本文件中最小字符串长度大于40的

[czmmiao@czmmiao ~]$ strings -t x -40 /etc/profile
       10   # System wide environment and startup programs, for login setup
       50   # Functions and aliases go in /etc/bashrc 
       7b   # It's NOT good idea to change this file unless you know what you
       bd   # are doing. Much better way is to create custom.sh shell script in
      101  # /etc/profile.d/ to make custom changes to environment. This will 

      144  # prevent need for merging in future updates.  

      1c6                if [ "$2" = "after" ] ; then
      436  if [ "$HISTCONTROL" = "ignorespace" ] ; 
      4b0  then export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 

以八进制写下偏移量,打印二进制文件2010_12_02.JPG中不少于10个的字符串

[czmmiao@czmmiao ~]$ strings -t o -n 10 2010_12_02.JPG
   26324 pd2N`G09d3
   43705 KSQEy<)Iu4'
   47750 @(SX9!lF7z
   53461 @(SX9!lF7z


参考至:http://blog.csdn.net/lvhongya/archive/2010/10/27/5970364.aspx

本文原创,转载请注明出处、作者

如有错误,欢迎指正

邮箱:czmcj@163.com

分享到:
评论

相关推荐

    aarch64-linux-android-4.9.zip

    标题 "aarch64-linux-android-4.9.zip" 暗示了这是一个与Android开发相关的文件,特别是针对aarch64架构的设备。在Android世界中,NDK(Native Development Kit)允许开发者使用C/C++编写原生代码,以实现高性能的...

    jdk-7u75-linux-arm-vfp-hflt.tar.gz

    标题“jdk-7u75-linux-arm-vfp-hflt.tar.gz”揭示了这是一个针对Linux ARM架构的Java Development Kit (JDK) 的特定版本,版本号为7u75。"arm"表明这是专为ARM处理器设计的软件,这类处理器常见于嵌入式系统和移动...

    module-3-strings-Niv2002-go:由GitHub Classroom创建的module-3-strings-Niv2002-go

    分配字符串模块3 =字符串和函数在本练习中,学生将在示例的帮助下学习C编程中的字符串并学习声明它们,对其进行初始化并将其用于各种I / O操作,并且将向学生介绍函数(用户定义函数和标准库函数) )在C编程中。...

    strings-plugin-for-x64dbg.x64dbg 的字符串插件

    How to compile the ...还有别忘了,git clone --recursive 这个命令 需要有特别好的网络环境才能完整的clone下来,因为里边有很多模块下载,如果网络环境差一点的,可以考虑一个一个点开模块单独下载放进对应文件夹.

    algorithms-on-strings-trees-and-sequences

    书中内容涵盖了从基础算法到高级技术的广泛主题,对于希望深化计算机科学与计算生物学领域知识的读者来说是一本宝贵的学习资源。 在书中,“精确字符串匹配”被视为一个基础问题,作者从朴素方法开始讲解,逐步引入...

    jdk-7u67-linux-x64.tar.gz

    标题中的"jdk-7u67-linux-x64.tar.gz"是一个典型的Java Development Kit (JDK) 版本标识,代表Oracle JDK 7更新67的64位Linux版本。这个压缩包是针对Linux操作系统设计的,用于在该平台上进行Java程序的开发和运行。...

    algorithms-on-strings-trees-and-sequences.part3

    The book is a general, rigorous text on deterministic algorithms that operate on strings, and sequences. It covers the full spectrum of string algorithms from clasical computer science to modern ...

    jdk-7u80-ea-bin-b03-linux-x64-19_nov_2014.tar.gz

    首先,我们来看标题中的"jdk-7u80-ea-bin-b03-linux-x64-19_nov_2014.tar.gz",这代表的是Oracle公司发布的JDK 7 Update 80的早期访问版(Early Access,EA),版本号为b03,面向64位Linux系统的二进制文件,发布...

    jdk-7u9-linux-x64.tar.gz

    下载完成后,使用`tar -zxvf jdk-7u9-linux-x64.tar.gz`命令进行解压。这会创建一个名为"jdk1.7.0_09"的目录,其中包含了JDK的所有文件。 2. **设置环境变量**:为了使得系统能够全局识别Java,我们需要设置环境...

    algorithms-on-strings-trees-and-sequences.part2

    The book is a general, rigorous text on deterministic algorithms that operate on strings, and sequences. It covers the full spectrum of string algorithms from clasical computer science to modern ...

    algorithms-on-strings-trees-and-sequences.part1

    The book is a general, rigorous text on deterministic algorithms that operate on strings, and sequences. It covers the full spectrum of string algorithms from clasical computer science to modern ...

    KBA-EC200&UC200-Linux&Android-USB-driver-移植说明.docx

    ### KBA-EC200&UC200-Linux&Android-USB-driver-移植说明 #### 一、概述 本文档旨在为EC200&UC200系列模组在Linux及Android系统下的USB驱动移植提供指导,确保驱动能够正确地识别并配置模组的USB接口功能。EC200&...

    c语言-leetcode题解415-add-strings.c

    c语言入门 c语言_leetcode题解415-add-strings.c

    xcode-dead-strings

    正在安装酿造去做brew install xcode-dead-strings从来源克隆此项目并运行swift build -c release技术支持 Swift "Regular Strings" """Multiline Strings""" #"Raw Strings"# Objective-C(++) 信息列表键例子按...

    linux--USB挂在

    Linux通过`dmesg`命令可以查看到设备插入的日志信息,以确定新设备的设备节点。例如,您可能会看到类似以下的输出: ``` [ 1367.298557] usb 3-1: new high-speed USB device number 4 using xhci_hcd [ 1367....

    图文Linux命令入门

    ### 图文Linux命令入门知识点详解 ...通过以上详细的介绍,读者能够对Linux的基本命令有一个全面的认识,这对于初学者来说是一份非常实用的学习资料。掌握这些基本命令对于日常管理和操作Linux系统至关重要。

    js-leetcode题解之43-multiply-strings.js

    js js_leetcode题解之43-multiply-strings.js

    redis基本命令model-for-net开发笔记

    - **字符串(Strings)**:最基础的数据类型,支持设置、获取、增加、减少等操作。如 `SET key value`,`GET key`。 - **列表(Lists)**:有序的字符串集合,可以添加元素到两端,如 `LPUSH key value`,`LPOP ...

    C语言-leetcode题解之43-multiply-strings.c

    c语言入门 C语言_leetcode题解之43-multiply-strings.c

Global site tag (gtag.js) - Google Analytics