首页 > 系统相关 >linux之strings命令

linux之strings命令

时间:2023-01-09 15:25:44浏览次数:38  
标签:... -- GLIBC 命令 linux 字符串 strings

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

命令语法

strings [ -a ] [ - ] [ -o ] [ -t Format ] [ -n Number ] [ -Number ] [ file ... ]

命令选项
-a --all:扫描整个文件而不是只扫描目标文件初始化和装载段
-f –print-file-name:在显示字符串前先显示文件名
-n –bytes=[number]:找到并且输出所有NUL终止符序列

  • :设置显示的最少的字符数,默认是4个字符
    -t --radix={o,d,x} :输出字符的位置,基于八进制,十进制或者十六进制
    -o :类似--radix=o
    -T --target= :指定二进制文件格式
    -e --encoding={s,S,b,l,B,L} :选择字符大小和排列顺序:s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit
    @ :读取中选项

列出ls中所有的ASCII文本:

> strings `which pwd` | more
/lib64/ld-linux-x86-64.so.2
libc.so.6
fflush
strcpy
__printf_chk
readdir
setlocale
mbrtowc
strncmp
optind
strrchr
dcgettext
closedir
fchdir
...

查找Elasticsearch进程环境变量

ps -ef | grep elasticsearch
strings /proc/*PID*/environ |grep FORMAT

查看某一个字符串属于哪个文件

> cd /usr/bin && strings -f * | grep "name"

查看glibc支持的版本

strings /lib64/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_PRIVATE
...

更改分隔符
默认情况下,字符串使用的分隔符是换行符。但是,如果需要,您可以使用 -s 命令行选项自定义分隔符。

> strings -s /  ls | more
/lib64/ld-linux-x86-64.so.2/    
...
$8H/T$@H/D$@H/D$@H/=u|!/D$@H9/D$8t      /D$@H/=^y!/=]y!/=Hy!/=+y!/=/y!/G(H;G0/5 s!/-Is!/D$P??/D$@H/D$PL/5|u!/D$8H/D$@H/D$8H/L$$H/L$$L/D$(H/D$@I/D$@H/-Vj!/t$81/=9r!/=P_!/>v|<?/$A\A]A^/<=tJ/[]A\A]/=~w!/5{w!/=lw!/=!w!/AWAVD/ATUSH/=&v!/[]A\A]A^A_/ATH9/G(H;G0sgH/W(H;W0s/[]A\/ATSH/[A\A]A^A_]/AUATU
SH/HcN0/-,^!/G(H;G0s%H/[]A\A]/X[]A\A]/O(H;O0sMH/=:n!/[]A\/O@H9N@H/NxH9OxH/ |&)/OhI9IhI/NXH9OXH/=wi!/G(H;G0s/=Lh!/=[h!/=^h!/t|Hc/AUATH9/5le!/%h[!/-~e!/[]A\A]A^/UUUUUUU/ATUS/[]A\/[]A\/AWAVAUATL/[]A\A]A^A_/=Qa!/=$a!/D$ H/D$(H/D$0H/D$8H/D$@H/D$HH/D$PH/D$XH/D$`H/D$hH/D$pH/D$xH/='`!/=q`!/AWAVAUI/A
TUH/-o^!/       tJ=/=C^!/=M]!/H9S /H9K /[]A\A]A^A_/=}Z!

打印字符序列的偏移量

> strings -t d ls | more
    568 /lib64/ld-linux-x86-64.so.2
    648         _k+
   3817 libselinux.so.1
   3833 __gmon_start__
   3848 _init
   3854 fgetfilecon
   3866 freecon
   3874 lgetfilecon
   3886 _fini
   3892 libcap.so.2
   3904 cap_to_text
   3916 cap_free
   3925 cap_get_file
   3938 libacl.so.1
   3950 acl_get_entry
   3964 acl_get_tag_type
   3981 acl_extended_file
   3999 libc.so.6

标签:...,--,GLIBC,命令,linux,字符串,strings
From: https://www.cnblogs.com/pengpengboshi/p/17037156.html

相关文章

  • linux--第一课
    主题:linux扫盲(简单)今日内容概要linux岗位需求linux工作本质linux简要发展史服务器的种类及组成部分虚拟化技术虚拟化软件及相关配置今日内容详细linux常见......
  • dell 服务器服务编码查询方法(Win & linux)版本):
    ForWindows(win2003winXP以上版本):命令1:wmicbiosgetserialnumber(获取ST)命令2:wmiccsproductgetname,identifyingnumber(获取ST和机型)#通过cmd命令查看内存型号 wmi......
  • linux scp文件分发脚本
    说明:集群节点之间文件、目录分发同步脚本将本节点指定目录的文件同步到对应集群所有节点的相同位置fdir为文件的绝对路径,用于指定集群节点中目标目录路径#!/bin/bash......
  • Linux常用命令
    Linux常用命令read命令Linuxread命令用于从标准输入读取数值,当使用重定向的时候,可以读取文件中的一行数据read[-ers][-aaname][-ddelim][-itext][-nnchars]......
  • Linux基础知识
    LinuxLinux系统目录结构  在Linux或者Unix系统中,所有文件和目录都被组织成以一个根节点开始的树状结构,文件系统的最顶层是由根目录开始\,根目录下既可以是文件。如果......
  • Linux 防火墙状态
    1.查看防火墙状态:active(running)即是开启状态:systemctlstatusfirewalld2.查看已开发端口命令:firewall-cmd--list-all3.新增防火墙开放端口:firewall-cmd--zone=......
  • Linux文件的S和T权限
    S与T权限上图中,S_IRWXUS_IRWXGS_IRWXO代表常见的三段权限:拥有者,同组用户,其他用户的权限,而S_ISUIDS_ISGIDS_ISVTX代表的是S权限与T权限.S权限S权......
  • 11.编写一个命令行程序
    一、接收命令行参数创建minigrep项目cargonewminigrep实现这一工具的首要任务是让minigrep接收两个命令行参数:文件名和用于搜索的字符串。因此,我们希望通过如下方式:......
  • 【linux】记一次疑难杂症-HTTP请求RST
    问题背景生产环境与第三方联通时,时常有丢包的情况发生,具体现象为有时候应用服务器表现为未收到报文,抓包表现为RST生产环境通讯方式为https,应用前端有SSL及F5负载,业务入......
  • 【linux】nginx: [emerg] getpwnam("nginx") failed in /usr/local/nginx/conf/nginx.
    启动nginx报错:        nginx:[emerg]getpwnam("nginx")failedin/usr/local/nginx/conf/nginx.conf:2是因为配制文件中使用的启动账户在系统中并没有找到解......