哈喽,大家好,我是程序员秘书LittleG。
前言
hexdump
是一个在 Linux 系统中用于显示文件或标准输入数据的十六进制、十进制、八进制和 ASCII 编码的命令。通常用于分析和调试二进制文件。对于分析二进制文件、故障排查以及理解数据结构非常有用。通常可以结合dd命令使用《Linux dd命令,希望不常用,但非常有用的命令~》,今天学习一下hexdump
基本语法和如何使用。
正文
命令格式
hexdump [选项] [文件]
常用选项
-C 或 -c:以十六进制和ASCII字符的形式显示输出,这是最常用的选项,因为它提供了一种易于阅读的格式。
-b:以八进制字节形式显示每个字节。
-d:以十进制形式显示每两个字节。
-o:以八进制形式显示每两个字节。
-x:以十六进制形式显示每两个字节。
-n length:仅显示指定长度的字节。
-s skip:从指定偏移量开始显示。
-e fmt_string:使用自定义格式字符串来格式化输出。
-v:在没有找到匹配数据时不抑制输出。
-C:与
-m:限制输出的行数,对于大文件很有用。
-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处理二进制数据。
阅读全文