我们在日常开发中有时候会遇到查看二进制文件的场景,直接打开的话往往会让我们直呼外星人。此时我们就需要各种二进制查看工具了,帮助我们更好的查看二进制文件。

hexdump 查看二进制文件

hexdumplinux 下一个用于查看二进制文件的命令,它可以将二进制文件转换成十六进制的格式并打印出来,结果如下:
在这里插入图片描述
此外 hexdump 提供了各种选项实现数据格式的转换:

hexdump -C Main7.class 显示文件的 ASCII格式在这里插入图片描述

-C 命令可以显示对应字节的ASCII格式,并追加到最后面。

-C Canonical hex+ASCII display. Display the input offset in hexadecimal, followed by sixteen space-separated, two-column, hexadecimal bytes, followed by the same sixteen bytes in %_p format enclosed in ‘|’ characters.

hexdump -b Main7.class 以单字节转换为八进制显示目标二进制文件

在这里插入图片描述
-b选项会将所有数据以单字节为单位转换为十进制的格式显示,如这里第0个位置十六字节的fe对应的十进制为 312等。

xxd命令查看二进制文件

在这里插入图片描述
xxd 命令的直接使用与 hexdump -C的格式类似,打印的结果包含地址,十六进制格式和字符格式(单字节为单位)。

使用 od命令查看二进制文件

在这里插入图片描述
od命令与上述两种命令有所区别,是它的显示格式与前两者不同,通过 od 命令可以打印出二进制文件的 十六进制格式和 十进制的格式。

[root@node01 demo02]# od -tx1 -tc -Ax Main7.class
  • -tx1选项表示将文件中的字节以十六进制的形式列出来,每组一个字节(类似hexdump的-c选项)
  • -tc选项表示将文件中的ASCII码以字符形式列出来(和hexdump类似,输出结果最左边的一列是文件中的地址,默认以八进制显示)
  • -Ax选项要求以十六进制显示文件中的地址

-A, --address-radix=RADIX output format for file offsets; RADIX is one of [doxn], for Decimal, Octal, Hex or None

-A显示地址索引,根据指定的格式显示地址。示例:-Ax以十六进制格式显示地址;-Ad以十进制格式显示地址;-Ao以八进制格式显示地址;-An不显示地址。

-t, --format=TYPE output format or formats

-t 指定输出格式,可以指定多个输出格式,对应列举出来。示例:-tx1 -tc表示分别以十六进制,一字节为单位;和ASCII格式,一字节为单位显示数据,结果如下:
在这里插入图片描述
下面为一些 -t选项对应可以输出的格式
在这里插入图片描述

参考资料

shell命令:xxd命令
Linux: 查看二进制文件
xxd 介绍
linux 命令 xxd linux下查看二进制文件

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐