0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

strings命令:用于打印文件中可打印字符串

Linux愛好者 ? 來(lái)源:Linux愛好者 ? 作者:戀貓大鯉魚 ? 2021-02-02 13:53 ? 次閱讀

1.命令簡(jiǎn)介

strings 命令是二進(jìn)制工具集 GNU Binutils 的一員,用于打印文件中可打印字符串,文件可以是文本文件(test.c),但一般用于打印二進(jìn)制目標(biāo)文件、庫(kù)或可執(zhí)行文件中的可打印字符。字符串默認(rèn)至少是 4 個(gè)或更多可打印字符的任意序列,可使用選項(xiàng)改變字符串最小長(zhǎng)度。

2.命令格式

3.選項(xiàng)說(shuō)明

注意,長(zhǎng)選項(xiàng)的參數(shù)對(duì)于短選項(xiàng)也是必須的。

-a,--all,-
掃描整個(gè)文件而不是只掃描目標(biāo)文件初始化和裝載段
-d,--data
僅打印文件中已初始化、加載的數(shù)據(jù)段中的字符串,這可能會(huì)減少輸出中的垃圾量
-e,--encoding=ENCODING
選擇字符編碼與字節(jié)序。encoding可取值s=7bits的ASCII, S=8bits的Latin1, {b,l}=16bits寬字符大小端編碼, {B,L}=32bits寬字符大小端編碼。其中b,B代表bigendian,l,L代表littleendian
-f,–-print-file-name
在顯示字符串前先顯示文件名
--help
顯示幫助信息
-,-n,--bytes=MIN_LEN
指定可打印字符序列的最小長(zhǎng)度,而不是默認(rèn)的4個(gè)字符
-o
類似--radix=o
-t,--radix=RADIX
輸出字符串在文件中的偏移位置,RADIX可取值o(octal,八進(jìn)制)、d(decimal,十進(jìn)制)或者x(hexadecimal,十六進(jìn)制)
-T,--target=BFD_NAME
指定二進(jìn)制文件格式
-v,-V,--version
顯示版本信息
-w,--include-all-whitespace
默認(rèn)情況下,Tab 和空格字符包含在字符串中,但其他空白字符除外,比如換行符和回車符等字符不是。-w 使所有的空白字符被認(rèn)為是字符串的一部分
@FILE
從指定的文件FILE中讀取命令行選項(xiàng)

4.常用示例

(1)打印可執(zhí)行文件中的所有可讀字符串。

strings/bin/ls
/lib64/ld-linux-x86-64.so.2
libselinux.so.1
_ITM_deregisterTMCloneTable
__gmon_start__
_Jv_RegisterClasses
_ITM_registerTMCloneTable
_init
fgetfilecon
freecon
lgetfilecon
...

(2)查看某一個(gè)字符串屬于哪個(gè)文件。

strings-f*|grep"xxx"

(3)查看glibc支持的版本。libc.so.6是c標(biāo)準(zhǔn)庫(kù),而這個(gè)標(biāo)準(zhǔn)庫(kù)的制作者為了讓庫(kù)的使用者知道該庫(kù)兼容哪些版本的標(biāo)準(zhǔn)庫(kù),就在這個(gè)庫(kù)中定義了一些字符串常量,使用如下命令可以查看向下兼容的版本。

strings/lib64/libc.so.6|grepGLIBC
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

參考文獻(xiàn)

[1] strings manual
[2] GNU Binutils

責(zé)任編輯:xj

原文標(biāo)題:每天一個(gè) Linux 命令(100):strings 命令

文章出處:【微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    761

    瀏覽量

    41476
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207921
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    658

    瀏覽量

    21929

原文標(biāo)題:每天一個(gè) Linux 命令(100):strings 命令

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    labview字符串如何轉(zhuǎn)換為16進(jìn)制字符串

    在LabVIEW,將字符串轉(zhuǎn)換為16進(jìn)制字符串是一個(gè)常見的需求,尤其是在處理數(shù)據(jù)通信和硬件接口時(shí)。LabVIEW提供了多種方法來(lái)實(shí)現(xiàn)這一轉(zhuǎn)換,包括使用內(nèi)置函數(shù)、編寫VI(Virtual
    的頭像 發(fā)表于 09-04 15:54 ?465次閱讀

    labview中常用的字符串函數(shù)有哪些?

    ) : 功能:該函數(shù)用于返回字符串所包含的字符個(gè)數(shù)。 應(yīng)用場(chǎng)景:常用于需要計(jì)算字符串長(zhǎng)度的場(chǎng)景,如文件
    的頭像 發(fā)表于 09-04 15:43 ?155次閱讀

    labview字符串的四種表示各有什么特點(diǎn)

    。在LabVIEW,字符串是一種基本的數(shù)據(jù)類型,用于表示文本信息。字符串在LabVIEW中有多種表示方式,每種方式都有其特定的應(yīng)用場(chǎng)景和特點(diǎn)。以下是對(duì)LabVIEW
    的頭像 發(fā)表于 09-04 15:40 ?140次閱讀

    rtt studio終端無(wú)法打印字符串是怎么回事?

    求助:rtt studio新創(chuàng)建的項(xiàng)目使用自帶終端可以打印字符串,但是將字符串輸出語(yǔ)句注釋掉再改回來(lái)終端就無(wú)法打印了,并且msh也未顯示也無(wú)法使用輸入,使用其他的串口調(diào)試助手看到了rtt的界面以及
    發(fā)表于 07-05 07:29

    labview掃描字符串怎么用

    LabVIEW 是一種流程化編程語(yǔ)言和開發(fā)環(huán)境,主要用于控制、測(cè)量和監(jiān)測(cè)系統(tǒng)。在 LabVIEW ,掃描字符串是一項(xiàng)常見的任務(wù),它允許用戶按照一定的模式從輸入字符串中提取所需的信息。
    的頭像 發(fā)表于 12-29 10:12 ?1513次閱讀

    labview掃描字符串怎么用

    LabVIEW是一種圖形化編程語(yǔ)言,用于開發(fā)控制、測(cè)量和監(jiān)控系統(tǒng)。雖然它主要用于工程和科學(xué)領(lǐng)域,但也可以用于處理文本和字符串。 在LabVIEW
    的頭像 發(fā)表于 12-26 16:58 ?1461次閱讀

    labview怎么對(duì)字符串的進(jìn)行實(shí)時(shí)處理

    LabVIEW是一種用于開發(fā)控制、測(cè)試和測(cè)量系統(tǒng)的可視化編程環(huán)境,它提供了許多處理字符串的功能。在LabVIEW,可以使用不同的函數(shù)和工具來(lái)實(shí)時(shí)處理字符串。下面我將詳細(xì)介紹一些常見的
    的頭像 發(fā)表于 12-26 14:12 ?1284次閱讀

    oracle字符串split成多個(gè)

    Oracle是一種廣泛使用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它提供了許多強(qiáng)大的功能和函數(shù),用于處理和操作數(shù)據(jù)。其中之一就是字符串分割(split)方法,該方法用于將一個(gè)字符串按照指定的分隔符分割
    的頭像 發(fā)表于 12-06 09:54 ?4219次閱讀

    oracle拼接字符串函數(shù)

    在Oracle,我們可以使用 CONCAT 函數(shù)來(lái)拼接字符串。CONCAT 函數(shù)接受兩個(gè)參數(shù),它將這兩個(gè)參數(shù)連接起來(lái)并返回相應(yīng)的字符串結(jié)果。 語(yǔ)法示例: CONCAT(string1
    的頭像 發(fā)表于 12-06 09:49 ?2360次閱讀

    MySQL替換字符串函數(shù)REPLACE

    MySQL是目前非常流行的開源數(shù)據(jù)庫(kù)管理系統(tǒng)之一,它具有強(qiáng)大的功能和性能。其中之一的字符串函數(shù)REPLACE,可以用于替換字符串的指定字符
    的頭像 發(fā)表于 11-30 10:44 ?1252次閱讀

    c語(yǔ)言字符串定義

    C語(yǔ)言是一種強(qiáng)大而廣泛使用的編程語(yǔ)言,字符串是其中一個(gè)非常重要的概念。在C語(yǔ)言中,字符串是由一系列字符組成的數(shù)組,它可以表示文本、數(shù)字等各種類型的數(shù)據(jù)。在本文中,我們將詳盡、詳實(shí)、細(xì)致地介紹C語(yǔ)言
    的頭像 發(fā)表于 11-24 10:02 ?1428次閱讀

    python如何統(tǒng)計(jì)字符串字母?jìng)€(gè)數(shù)

    Python中統(tǒng)計(jì)字符串字母?jìng)€(gè)數(shù)的方法有多種,下面我會(huì)詳細(xì)介紹一些常用的方法。 方法一:使用循環(huán)遍歷字符串 該方法通過(guò)循環(huán)遍歷字符串的每
    的頭像 發(fā)表于 11-23 16:29 ?1w次閱讀

    linux搜索文件里的字符串

    文本文件搜索指定的字符串,并將包含該字符串的行打印出來(lái)。 用法示例: grep "search_text" file_name grep
    的頭像 發(fā)表于 11-23 10:20 ?1313次閱讀

    mysql字符串包含某個(gè)字符串

    將詳盡、詳實(shí)、細(xì)致地探討MySQL字符串包含的實(shí)現(xiàn)方法。 在MySQL,可以通過(guò)使用內(nèi)建函數(shù)和通配符來(lái)實(shí)現(xiàn)字符串包含的操作。下面將詳細(xì)介紹幾種常用的方法: 使用LIKE通配符: L
    的頭像 發(fā)表于 11-16 14:52 ?2989次閱讀

    strings命令的使用方法

    文件通常有兩種類型的字符打印字符和不可打印字符。字母、數(shù)字、
    發(fā)表于 09-24 12:14 ?2887次閱讀
    <b class='flag-5'>strings</b><b class='flag-5'>命令</b>的使用方法