哈嘍,大家好,我是程序員秘書LittleG。
前言
hexdump
是一個在 Linux 系統(tǒng)中用于顯示文件或標(biāo)準(zhǔn)輸入數(shù)據(jù)的十六進制、十進制、八進制和 ASCII 編碼的命令。通常用于分析和調(diào)試二進制文件。對于分析二進制文件、故障排查以及理解數(shù)據(jù)結(jié)構(gòu)非常有用。通常可以結(jié)合dd命令使用《Linux dd命令,希望不常用,但非常有用的命令~》,今天學(xué)習(xí)一下hexdump
基本語法和如何使用。
正文
命令格式
hexdump [選項] [文件]
常用選項
-b:以八進制字節(jié)形式顯示每個字節(jié)。
-d:以十進制形式顯示每兩個字節(jié)。
-o:以八進制形式顯示每兩個字節(jié)。
-x:以十六進制形式顯示每兩個字節(jié)。
-n length:僅顯示指定長度的字節(jié)。
-s skip:從指定偏移量開始顯示。
-e fmt_string:使用自定義格式字符串來格式化輸出。
-v:在沒有找到匹配數(shù)據(jù)時不抑制輸出。
-C:與
-v
相反,當(dāng)沒有數(shù)據(jù)匹配時,抑制輸出。-m:限制輸出的行數(shù),對于大文件很有用。
使用舉例
查看文件的十六進制及ASCII表示:
hexdump -C myfile.bin
只顯示文件的前100字節(jié):
hexdump -C -n 100 myfile.bin
從偏移量256開始顯示:
hexdump -C -s 256 myfile.bin
使用自定義格式:
hexdump -e '8/1 "%02X " 1/1 " "' -e '8/1 "n"' myfile.bin
說明:前一個格式字符串指示每行輸出8個十六進制字節(jié),后跟一個空格,后一個格式字符串用于換行。
結(jié)合grep查找特定內(nèi)容:
hexdump -C myfile.bin | grep -a 'some pattern'
使用grep
查找十六進制輸出中的特定模式,注意使用-a
選項讓grep處理二進制數(shù)據(jù)。