Linux下使用od查看文件

        "不积跬步,无以至千里"
                                 《劝学》

查看文本文件使用vim/less就足够了,但如果想要查看一些其他二进制文件(例如DB的数据文件、程序的二进制代码)则借助于od/hexdump这些工具会很方便,这里会通过一些实例来详细介绍od命令的相关参数。

1. od参数详解
$od -j 49152 -N 38 -w4 -A d -t x1 -v tmp_test.ibd 0049152 fd 6f fb 70 0049156 00 00 00 03 0049160 ff ff ff ff 0049164 ff ff ff ff 0049168 00 00 00 03 0049172 ba 92 ac 0c 0049176 45 bf 00 00 0049180 00 00 00 00 0049184 00 00 00 00

-j 49152 跳过前49152个字节(bytes)

-N 38 仅显示38个字节

-w4 每一行显示4个字节

-A d 表示最左侧的偏移量按十进制显示;-A还可以接[doxn],其中d表示十进制,o表示8进制,x表示16进制,n表示不显示该偏移量,如:

od -j 49152 -N 8 -w4 -A n -t x1 -v ibdata1 b4 0b c7 31 00 00 00 03

-t x1表示如何显示文件内容。这里,x表示按照16进制输出文件内容,x后面跟的“1”表示一次显示一个字节。下面是一个-t x2的输出:

od -j 49152 -N 8 -w4 -A n -t x2 -v ibdata1 0bb4 31c7 # 0bb4是十进制表示的两个字节 0000 0300 #

另外,注意到这里是0bb4和前面的b40b略有不同,这是因为我这里的测试平台是little-endian的(x86_64 Linux)。

最后,参数-v表示,即使连续多行都是完全相同的字符0,仍然原样输出;不加该参数,则会使用星号(*)跳过多个相同的行。

好了,再回头看看最前面的命令,已经没那么难理解了吧。

参考文献:man od

In:

One response to “Linux下使用od查看文件”

  1. 不错的技术博客,等下订阅了,vi怎么会不能查看二进制文件呢?
    :%!xxd

Leave a Reply

Your email address will not be published. Required fields are marked *