在分析mysql binlog或者ibd文件时候,常会用到hexdump 查看物理文件的存储内容。


参考:http://www.cnblogs.com/kerrycode/p/5077687.html


node1:~ # hexdump --help  (常用下面3个红色标注的参数)

hexdump: invalid option -- '-'

Usage:

hexdump [options] file...

Options:

-b              one-byte octal display           8进制显示

-c              one-byte character display       ASCII显示

-C              canonical hex+ASCII display       十六进制+ASCII显示

-d              two-byte decimal display        两字节计算,显示为10进制方式

-o              two-byte octal display         两字节计算,显示为8进制方式

-x              two-byte hexadecimal display    两字节计算,显示为16进制方式

-e format       format string to be used for displaying data   格式化输出

-f format_file  file that contains format strings

-n length       interpret only length bytes of input    输出多少个bytes的字符长度的内容

-s offset       skip offset bytes from the beginning    输出文件的开始偏移量  【注意:偏移量从0开始的!】

-v              display without squeezing similar lines    

-V              output version information and exit



案例:

cat > test.txt < EOF
AbCDEF
GHIJKL
123456
EOF

[root@node1 ~]$ hexdump -b test.txt
0000000 101 142 103 104 105 106 012 107 110 111 112 113 114 012 061 062
0000010 063 064 065 066 012
[root@node1 ~]$ hexdump -c test.txt   可以看到\n表示文件中有换行(注意:linux下换行是\n  windows下换行是\r\n)
0000000   A   b   C   D   E   F  \n   G   H   I   J   K   L  \n   1   2
0000010   3   4   5   6  \n                                            
0000015

[root@node1 ~]$ hexdump -C test.txt
00000000  41 62 43 44 45 46 0a 47  48 49 4a 4b 4c 0a 31 32  |AbCDEF.GHIJKL.12|
00000010  33 34 35 36 0a                                    |3456.|
00000015

[root@node1 ~]$ hexdump -d test.txt
0000000   25153   17475   17989   18186   18760   19274   02636   12849
0000010   13363   13877   00010                                        
0000015

[root@node1 ~]$ hexdump -C -s 0 -n 3 test.txt
00000000  41 62 43                                          |AbC|
00000003

[root@node1 ~]$ hexdump -C -s 8  test.txt   从偏移量8开始输出全部内容
00000008  48 49 4a 4b 4c 0a 31 32  33 34 35 36 0a           |HIJKL.123456.|
00000015