在分析mysql binlog或者ibd文件时候,常会用到hexdump 查看物理文件的存储内容。
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
案例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<code>cat</code> <code>> </code><code>test</code><code>.txt < EOF</code>
<code>AbCDEF</code>
<code>GHIJKL</code>
<code>123456</code>
<code>EOF</code>
<code>[root@node1 ~]$ hexdump -b </code><code>test</code><code>.txt</code>
<code>0000000 101 142 103 104 105 106 012 107 110 111 112 113 114 012 061 062</code>
<code>0000010 063 064 065 066 012</code>
<code>[root@node1 ~]$ hexdump -c </code><code>test</code><code>.txt 可以看到\n表示文件中有换行(注意:linux下换行是\n windows下换行是\r\n)</code>
<code>0000000 A b C D E F \n G H I J K L \n 1 2</code>
<code>0000010 3 4 5 6 \n </code>
<code>0000015</code>
<code>[root@node1 ~]$ hexdump -C </code><code>test</code><code>.txt</code>
<code>00000000 41 62 43 44 45 46 0a 47 48 49 4a 4b 4c 0a 31 32 |AbCDEF.GHIJKL.12|</code>
<code>00000010 33 34 35 36 0a |3456.|</code>
<code>00000015</code>
<code>[root@node1 ~]$ hexdump -d </code><code>test</code><code>.txt</code>
<code>0000000 25153 17475 17989 18186 18760 19274 02636 12849</code>
<code>0000010 13363 13877 00010 </code>
<code>[root@node1 ~]$ hexdump -C -s 0 -n 3 </code><code>test</code><code>.txt</code>
<code>00000000 41 62 43 |AbC|</code>
<code>00000003</code>
<code>[root@node1 ~]$ hexdump -C -s 8 </code><code>test</code><code>.txt 从偏移量8开始输出全部内容</code>
<code>00000008 48 49 4a 4b 4c 0a 31 32 33 34 35 36 0a |HIJKL.123456.|</code>
本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1979067,如需转载请自行联系原作者