Linux 字符串命令
 
 
 Linux字符串命令
 
  Linux字符串命令用于将字符串字符返回到文件。它主要侧重于确定二进制文件(非文本文件)的内容并从中提取文本。
 
 对于人类来说,从可执行文件中查找文本是一项复杂的任务。二进制文件(例如程序文件)包含人类可读的文本。如果我们使用cat或更少的命令,这些文件将很大。 
 
 文件中可以有两种类型的字符;这可能会导致终端挂断。可打印和不可打印的。字母数字字符,标点符号或空格称为可打印字符。 
 
 简单地说,我们可以说它从文件中提取可打印字符,以便其他命令可以使用不带非字符的字符串。可打印的字符。
 
 在这里,出现了一个问题,为什么我们要在可执行文件中放置文本?部署应用程序或软件时,大多数开发人员都会打包二进制文件。但是最好在二进制文件中打包一些ASCII文本。 
 
 因此,strings命令对于确定非文本文件的内容很有用。
 
 如何使用它? 
 
  使用字符串命令很简单,只需将文件名作为参数传递并执行即可。让我们通过一个示例来理解它。
 
 
 
  我们有一个名为gyp.el的系统文件。要从该文件中提取字符串,请执行以下命令: 
 
 
  
 
  考虑以下输出: 
 
 
  
 
 自定义字符限制
 
 
  默认情况下,strings命令仅打印至少四个字符长的字符序列。但是,我们可以使用-n 选项来强制更改此限制。 
 
 
 
  建议使用更高的限制,因为使用的数字越短,您看到的垃圾越多。
 
 
 
  要设置两个字符的限制,请执行以下命令: 
 
 
  
 
  请考虑以下输出: 
 
 
  
 
 
  尽管上述输出也包含字符串很多,因此识别两个字符串很复杂,但是我们可以理解字符串命令的工作方式。
 
 
 设置限制
 
 
  在如果我们有一个包含冗长输出的文件,我们可以通过更少的管道传输它。它将显示较少的输出,并且我们可以根据需要滚动和追加输出。
 
 
 
  要通过较小的管道传递限制,请执行以下命令: 
 
 
  
 
  考虑以下输出: 
 
 
  
 
 
  我们可以附加上面的输出
 
 
 如何使用Strings命令查看RAM?
 
 
   strings命令不仅限于文件。它使我们可以查看计算机系统的RAM。我们需要使用Sudo特权,因为我们正在访问/dev/mem ,它保存了系统主内存的蓝图。执行以下命令: 
 
 
  
   
   sudo strings /dev/mem | less
 
    
   
 
  在上面的命令中,我们使用更少的值来限制输出。考虑以下输出: 
 
 
  
 
 包含空格
 
 
   strings命令的默认行为包含空格作为可打印字符。因此,如果我们有一个字符串" lidihuo是学习技术的最佳平台之一",那么strings命令将返回整个文本。
 
 
 
  它不将换行符和回车符视为可打印的
 
 
 
  要打印可识别换行符并且回车为可打印字符的字符串,请执行以下命令: 
 
 
  
 更改编码
 
 
   strings命令提供了四种类型的编码选项,如下所示: 
 
 
 
   s: 7位字节(用于ASCII,ISO 8859)
 
 
 
   S: 8位字节
 
 
 
   b: 16-bit bigendian 
 
 
 
   l: 16位littleendian 
 
 
 
  默认选项是的'; 是7位字节。 
 
 
 
  我们可以更改编码;要对其进行更改,请执行以下命令: 
 
 
  
 
  或
 
 
  
   
   strings--encoding=S file_name
 
    
   
 
  在上面的命令中,我们将编码指定为'S ',表示8位字节编码。您可以指定上述任何一个选项,只需将'S'替换为您选择的编码字母即可。
 
 
 从文件中读取选项
 
 
  如果重复使用相同的选项,则无需每次都指定。相反,您可以创建一个文件并在该文件中指定选项。
 
 
 
  要创建用于指定选项的文件,请执行以下命令: 
 
 
  
 
  以上命令将打开vi编辑器。在这里,我们使用vi编辑器创建文件;您可以选择任何编辑器。
 
 
 
  按 ESC 和'i'键进入插入模式。键入您要指定的选项,如下所示: 
 
 
  
 
  输入选项后,按 ESC 和: wq!键保存文件。考虑下图: 
 
 
  
 
 
  要使用指定的选项运行strings命令,执行以下命令: 
 
 
  
   
   strings @stringsopts gyp.el
 
    
   
 
  上面的命令将使用指定的选项执行该命令。 gyp.el是我们正在使用的文件名;您可以输入文件名。考虑以下输出: 
 
 
  
 
 获得帮助
 
 
  如果在使用strings命令时卡在任何地方。您可以使用帮助选项从终端获取帮助。要获取帮助,请执行以下命令: 
 
 
  
 
  请考虑以下输出: 
 
 
  
 
 
  您也可以阅读该手册通过执行以下命令随时可以: 
 
 
  
 检查字符串的版本
 
 
  要检查正在使用的字符串的版本,请执行以下命令之一: 
 
 
  
   
   strings-v
strings-V
strings-version
 
    
   
 
  以上命令将显示字符串的已安装版本。考虑以下输出: 
 
 
 