1 | hexdump
|
2 | ===
|
3 |
|
4 | 显示文件十六进制格式
|
5 |
|
6 | ## 补充说明
|
7 |
|
8 | **hexdump命令** 一般用来查看“二进制”文件的十六进制编码,但实际上它能查看任何文件,而不只限于二进制文件。
|
9 |
|
10 | ### 语法
|
11 |
|
12 | ```shell
|
13 | hexdump [选项] [文件]...
|
14 | ```
|
15 |
|
16 | ### 选项
|
17 |
|
18 | ```shell
|
19 | -n length 只格式化输入文件的前length个字节。
|
20 | -C 输出规范的十六进制和ASCII码。
|
21 | -b 单字节八进制显示。
|
22 | -c 单字节字符显示。
|
23 | -d 双字节十进制显示。
|
24 | -o 双字节八进制显示。
|
25 | -x 双字节十六进制显示。
|
26 | -s 从偏移量开始输出。
|
27 | -e 指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:'a/b "format1" "format2"'。
|
28 | ```
|
29 |
|
30 | 每个格式字符串由三部分组成,每个由空格分隔,第一个形如a/b,b表示对每b个输入字节应用format1格式,a表示对每a个输入字节应用format2格式,一般a>b,且b只能为1,2,4,另外a可以省略,省略则a=1。format1和format2中可以使用类似printf的格式字符串,如:
|
31 |
|
32 | ```shell
|
33 | %02d:两位十进制
|
34 | %03x:三位十六进制
|
35 | %02o:两位八进制
|
36 | %c:单个字符等
|
37 | ```
|
38 |
|
39 | 还有一些特殊的用法:
|
40 |
|
41 | ```shell
|
42 | %_ad:标记下一个输出字节的序号,用十进制表示。
|
43 | %_ax:标记下一个输出字节的序号,用十六进制表示。
|
44 | %_ao:标记下一个输出字节的序号,用八进制表示。
|
45 | %_p:对不能以常规字符显示的用 . 代替。
|
46 | ```
|
47 |
|
48 | 同一行如果要显示多个格式字符串,则可以跟多个`-e`选项。
|
49 |
|
50 | ### 实例
|
51 |
|
52 | ```shell
|
53 | hexdump -e '16/1 "%02X " " | "' -e '16/1 "%_p" "\n"' test
|
54 | 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ................
|
55 | 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F | ................
|
56 | 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F | !"#$%&'()*+,-./
|
57 | ```
|
58 |
|
59 |
|
60 |
|
\ | No newline at end of file |