在對象文件或二進制文件中查找可打印的字符串
, 只不過它不完全匹配光標所在處的單詞, 而 是匹配包含該單詞的所有字符串. gd 本命令查找與光標所在單詞相匹配的單詞, 并將光標停留在文檔的非 注釋段中第一次出現(xiàn)這個單詞的地方. % 本命令查找與光標所在處相匹配的反括號, 包括 () [] {} f(f)x 本命令表示在光標所在行進行查找, 查找光標右(左)方第一個x字符. 找到后: 輸入 。一個通用表達式是由一些元素組成的.這些元素是通用表達式中最小的匹配單位.一個元素可以是一個字符,例如a,與字符a相匹配,或者是一個特殊字符,例如$,匹配一行的結(jié)束.還可以是其他的字符,例如\來匹配一個單詞的結(jié)束.也就是說要將我們想要查找的字符串放在這兩個中間.這樣我們就可以精確的來查找我們想要查找的字符串,而不會有其他的一些匹配情況.而如果我們用簡單字符串形式來查找,我們就會得到許多的匹配情況,甚至在一個單詞中的組成部分也可以成為匹配情況.例如在文件中有californian,unfortunately.如果用命令/for來查找,那么就會找到這兩個單詞.而如果我們用通用表達式\來進行查找,則只會精確的查找到for,而不會用其他的匹配情況.這時的命令形式如下:。為了解決多讀取的eof字符(在文件中不可見),我們用一個小小的邏輯算法來避免eof字符帶來的困惑,如打印讀取的文件內(nèi)容時不將讀取到的eof字符輸出,或避免在讀取到eof字符(讀取此字符不成功)后無判斷文件是否結(jié)束的操作而又將上一次讀取到的數(shù)據(jù)輸出。
strings [ -a ] [ - ] [ -o ] [ -t Format ] [ -n Number ] [ -Number ] [file ... ]
-a --all:掃描整個文件而不是只掃描目標文件初始化和裝載段
-f –print-file-name:在顯示字符串前先顯示文件名
-n –bytes=[number]:找到并且輸出所有NUL終止符序列
- :設(shè)置顯示的最少的字符數(shù),默認是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 /bin/ls
列出ls中所有的ASCII文本:
cat /bin/ls strings
查找ls中包含libc的字符串linux命令大全linux命令大全,不區(qū)分大小寫:
strings /bin/ls | grep -i libc
微信捐贈支付寶捐贈