码迷,mamicode.com
首页 > 其他好文 > 详细

hexdump命令

时间:2019-12-20 20:09:57      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:mat   标准   字符串   参数   eve   标准输入   序列   压缩   str   

 

hexdump

hexdump用于以16进制、10进制、8进制、ascii码形式打印文件内容,也可以是标准输入的内容。

用法

hexdump [选项] 文件 ...

选项

选项参数说明
-b   单字节8进制格式显示
-c   单字节字符格式显示
-o   两byte八进制格式显示
-d   两byte十进制格式显示
-x   两byte十六进制格式显示
-C   标准的hex+ASCII格式显示
-e 格式 指定格式化输出表达式
-f 格式文件 指定格式换输出表达式文件
-n 长度 仅显示指定长度字节的数据
-s 偏移 跳过指定长度字节的数据
-v   显示时不压缩相似的行

前面六个选项其实是通过后面五个选项实现的显示效果。

hexdump高级用法:

-e 指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如

‘a/b "format1" "format2"‘

每个格式字符串由三部分组成,每个部分由空格分隔,第一个形如a/b,表示每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 ‘1/1 "%08_ax: "‘ -e ‘4/4 "%08X " "\n"‘ -v test.bin

 

hexdump -e ‘1/1 "%08_ax: "‘ -e ‘4/1 "%08X " "  |  "‘ -e ‘16/1 "%_p" "\n"‘ -v test.bin

 

hexdump -e ‘1/1 "%08_ad: "‘ -e ‘/1 "hex = %08X | "‘ -e ‘1/1 "dec = %10d | "‘ -e ‘/1 "\n"‘ -v test.bin

 

hexdump命令

标签:mat   标准   字符串   参数   eve   标准输入   序列   压缩   str   

原文地址:https://www.cnblogs.com/sinferwu/p/12074610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!