新闻  |   论坛  |   博客  |   在线研讨会
linux hexdump-显示文件十六进制格式
电子禅石 | 2020-09-06 12:40:48    阅读:1003   发布文章

linux hexdump-显示文件十六进制格式

博主推荐:获取更多 linux文件内容查看命令 收藏:linux命令大全

hexdump命令一般用来查看“二进制”文件的十六进制编码,但实际上它能查看任何文件,而不只限于二进制文件。 

语法
hexdump [选项] [文件]...
选项
-n length 只格式化输入文件的前length个字节。
-C 输出规范的十六进制和ASCII码。
-b 单字节八进制显示。
-c 单字节字符显示。
-d 双字节十进制显示。
-o 双字节八进制显示。
-x 双字节十六进制显示。
-s 从偏移量开始输出。
-e 指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:'a/b "format1" "format2"'。

每个格式字符串由三部分组成,每个由空格分隔,第一个形如a/b,b表示对每b个输入字节应用format1格式,a表示对每a个输入字节应用format2格式,一般a>b,且b只能为1,2,4,另外a可以省略,省略则a=1。format1和format2中可以使用类似printf的格式字符串,如: 

%02d:两位十进制
%03x:三位十六进制
%02o:两位八进制
%c:单个字符等

还有一些特殊的用法: 

%_ad:标记下一个输出字节的序号,用十进制表示。
%_ax:标记下一个输出字节的序号,用十六进制表示。
%_ao:标记下一个输出字节的序号,用八进制表示。
%_p:对不能以常规字符显示的用 . 代替。

同一行如果要显示多个格式字符串,则可以跟多个-e选项。 

实例
hexdump -e '16/1 "%02X " "  |  "' -e '16/1 "%_p" "\n"' test
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F  |  ................  
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F  |  ................  
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F  |   !"#$%&'()*+,-./

注意:

hexdump -x  是可能会按照小端模式输出两个字节的形式:一般 加个-C

root@imx6qsabresd:/home/newsikua/pccerts/pc_0# hexdump -x sign.privatekey 
0000000    6162    0c26    0191    9924    b39e    58ab    27fc    c969
0000010    cbde    ad6a    e391    5a07    67ec    06b4    9ccf    7287
0000020
root@imx6qsabresd:/home/newsikua/pccerts/pc_0# hexdump sign.privatekey 
0000000 6162 0c26 0191 9924 b39e 58ab 27fc c969
0000010 cbde ad6a e391 5a07 67ec 06b4 9ccf 7287
0000020
root@imx6qsabresd:/home/newsikua/pccerts/pc_0# hexdump sign.privatekey -C
00000000  62 61 26 0c 91 01 24 99  9e b3 ab 58 fc 27 69 c9  |ba&...$....X.'i.|
00000010  de cb 6a ad 91 e3 07 5a  ec 67 b4 06 cf 9c 87 72  |..j....Z.g.....r|
00000020


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客