Linux hexdump命令,简单好用,功能强劲~



By
jonson
22 5 月 24
0
comment

哈喽,大家好,我是程序员秘书LittleG。

上篇:ARM PMU 用途不仅仅是性能

前言

hexdump是一个在 Linux 系统中用于显示文件或标准输入数据的十六进制、十进制、八进制和 ASCII 编码的命令。通常用于分析和调试二进制文件。对于分析二进制文件、故障排查以及理解数据结构非常有用。通常可以结合dd命令使用《Linux dd命令,希望不常用,但非常有用的命令~》,今天学习一下hexdump基本语法和如何使用。

正文

命令格式

hexdump [选项] [文件]

常用选项

-C 或 -c:以十六进制和ASCII字符的形式显示输出,这是最常用的选项,因为它提供了一种易于阅读的格式。
-b:以八进制字节形式显示每个字节。
-d:以十进制形式显示每两个字节。
-o:以八进制形式显示每两个字节。
-x:以十六进制形式显示每两个字节。
-n length:仅显示指定长度的字节。
-s skip:从指定偏移量开始显示。
-e fmt_string:使用自定义格式字符串来格式化输出。
-v:在没有找到匹配数据时不抑制输出。
-C:与-v相反,当没有数据匹配时,抑制输出。
-m:限制输出的行数,对于大文件很有用。

使用举例

查看文件的十六进制及ASCII表示

hexdump -C myfile.bin

只显示文件的前100字节

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个十六进制字节,后跟一个空格,后一个格式字符串用于换行。

结合grep查找特定内容

hexdump -C myfile.bin | grep -a 'some pattern'

使用grep查找十六进制输出中的特定模式,注意使用-a选项让grep处理二进制数据。

发表回复