Linux strings命令

Linux strings 命令用于将字符串字符返回到文件中。它主要侧重于确定二进制文件(非文本文件)的内容并从中提取文本。

对于人类来说,从可执行文件中找出文本是一项复杂的任务。二进制文件(如程序文件)包含人类可读的文本。如果我们使用 cat 或更少的命令,这些文件很大;这可能会导致终端挂起。

文件中可以有两种类型的字符;可打印和不可打印。字母数字字符、标点符号或空格称为可打印字符;除可打印字符外,所有字符都称为不可打印字符。

简而言之,我们可以说它从文件中提取可打印字符,以便其他命令可以使用没有不可打印字符的字符串。

在这里,问题出现了,为什么我们将文本放在可执行文件中?部署应用程序或软件时,大多数开发人员会打包二进制文件。但是最好在二进制文件中打包一些 ASCII 文本。这将有助于用户和开发人员了解有关可执行文件的更多信息。

因此,strings 命令对于确定非文本文件的内容很有用。

如何使用 strings 命令?

strings 命令的使用很简单,只需将文件名作为参数传递并执行即可。让我们用一个例子来理解它。

我们有一个名为gyp.el的系统文件。要从此文件中提取字符串,请按如下所示执行命令:

strings gyp.el 

输出结果:

自定义字符限制

默认情况下,strings 命令仅打印长度至少为四个字符的字符序列。但是,我们可以通过使用 -n 选项强制更改此限制。它允许我们传递数字来表示限制。

建议使用更高的限制,因为您使用的数字越短,您看到的垃圾就越多。

要设置两个字符的限制,请执行以下命令:

strings -n 2 gyp.el

虽然上面的输出包含太多字符串,所以识别两个字符串很复杂,但我们可以理解字符串命令是如何工作的。

管道限制

如果我们有一个包含冗长输出的文件,我们可以减少管道传输它。它将显示较少的输出,我们可以根据需要滚动和附加输出。

要通过较少的管道传递限制,请按如下方式执行命令:

strings gyp.el | less  

我们可以通过向下滚动来附加上面的输出。

如何使用strings 命令查看RAM?

字符串命令不仅限于文件。它使我们能够查看计算机系统的RAM。我们需要使用 Sudo 权限,因为我们正在访问 /dev/mem,它保存着我们系统主内存的蓝图。按如下方式执行命令:

sudo strings /dev/mem | less  

在上面的命令中,我们使用更少来限制输出。请考虑以下输出:

热门文章

优秀文章