Linux字符串初学者命令教程(5个示例)

Linux字符串初学者命令教程(5个示例)

查看二进制/可执行文件以获取人类可读的字符串并不是每个人都可以做的工作,但是如果要求您这样做呢? 在编辑器中打开文件,并手动查找东西不是一个优雅的解决方案。 那么该怎么办? 是的,你猜对了 - 存在一个命令行实用程序可以为你做到这一点。

相关工具被称为字符串 ,在本教程中,我们将使用一些易于理解的示例来讨论此命令的基础知识。 但在这之前,值得一提的是本文中的所有示例都已在Ubuntu 16.04 LTS机器上进行了测试。

Linux字符串命令

字符串命令基本上在文件中打印可打印字符的字符串。 以下是它的语法:

strings [OPTIONS] FILENAME

下面是该工具的手册页如何描述它:

       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.

       Depending upon how the strings program was configured it will default
       to either displaying all the printable sequences that it can find in
       each file, or only those sequences that are in loadable, initialized
       data sections.  If the file type in unrecognizable, or if strings is
       reading from stdin then it will always display all of the printable
       sequences that it can find.

       For backwards compatibility any file that occurs after a command line
       option of just - will also be scanned in full, regardless of the
       presence of any -d option.

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

以下是一些Q&A样式的示例,它们应该能够帮助您了解字符串命令的工作原理。

Q1。 如何使用字符串命令?

基本用法相当简单 - 只需将文件名称作为输入并执行该命令即可。

请注意,由于Strings主要用于从二进制/可执行文件中提取信息,因此我们将在所有示例中使用一个这样的文件。

例如:

strings test

以下是我的系统上生成的这个命令的输出:

Q2。 如何强制自定义字符限制?

如开头所述,字符串工具的默认行为是仅打印至少4个字符长度的字符序列。 但是,如果需要,可以使用-n命令行选项更改此限制(要求您传递一个表示新限制的数字)。

例如,如果您想将限制设置为2,则可以执行以下操作:

strings -n 2 test

所以现在你可以在输出中看到两个和三个字符串。

Q3。 如何使字符串打印字符序列的偏移量?

如果您希望字符串也显示它在输出中显示的字符序列的偏移量,则可以使用-t命令行选项完成此操作,该选项要求您提供指定偏移量基数的单个字符输入 - 'o'八进制,十六进制'x',或十进制'd'。

例如:

strings -t d test

以下是我在系统上生成的输出:

所以你可以看到输出中的字符串现在在它们各自的偏移之前。

Q4。 如何使字符串扫描整个文件?

根据字符串的配置方式,它可能会或可能不会扫描整个输入文件。 但是,如果要确保该工具读取完整文件(而不仅仅是可加载的,初始化的数据部分),请使用-a命令行选项。

例如:

strings -a test

相反,如果您希望字符串仅显示来自文件中已初始化,加载的数据段的字符串,请使用-d命令行选项。

strings -d test

Q5。 如何更改分隔符?

正如你所看到的,默认情况下,Strings使用的分隔符是换行符。 但是,如果需要,可以使用-s命令行选项来创建自定义分隔符。

例如:

strings -s [[[]]] test

结论

如果您想挖掘二进制文件/可执行文件以获取有用的信息,则Strings命令是非常有用的工具。 我们在这里讨论了一些重要的命令行选项。 因此,练习它们,一旦完成,请前往该工具的手册页获取更多信息。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏