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
在上面的命令中,我们使用更少来限制输出。请考虑以下输出:
热门文章
优秀文章