hexdump_linux_command.md

hexdump

1
2
#主要用来查看二进制文件的十六进制编码
#hexdump [options] [file] ...

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-n length 格式化输出文件的前length个字节
-C 输出规范的十六进制和ASCII码
-b 单字节八进制显示
-c 单字节字符显示
-d 双字节字符显示
-o 双字节十进制显示
-x 双字节十六进制显示
-s 从偏移量开始输出
-e 指定格式字符串
格式字符串由''包裹 'a/b "format1" "format2"'
format %02d 两位十进制 %03x 三位十六进制数
%02o 两位八进制数 %c 单个字符等
%_ad 标记下一个输出字符的序号,用十进制表示
%_ax ~,用十六进制表示
%_ao ~,用八进制表示
%_p 对不能以常规字符显示的用.代替
同一行多个格式字符串,可以跟多个-e选项
1
2
3
4
5
6
7
8
9
10
hexdump test   格式化输出文件

hexdump -n 10 test 格式化输出文件的前10个字节

hexdump -n 10 -c test 格式化输出文件的前10个字节,并以16进制表示

hexdump -n 10 -C -s 20 格式化输出从10开始的10个字节,并以16进制显示

hexdump -e '16/1 "%02x" "|"' -e '16/1 "%_p" "\n"' test
#format: iteration_count/byte_count format