hexdump命令使用

转载 2015年07月09日 11:53:01

hexdump命令是Linux下的打印16进制的利器,它可以按我们指定的格式输出16进制,特别有用,配合eeprom来用简直是绝配。

今天我们来介绍一个hexdump命令的使用:


首先我们准备一个测试用的文件test,十六进制如下:

  1. 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F  
  2. 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F  
  3. 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F  



选项:


-n length

只格式化输入文件的前length个字节



-C 输出十六进制和对应字符

输入:

  1. hexdump -n 13 -C test  
输出:

  1. 00000000  00 01 02 03 04 05 06 07  08 09 0a 0b 0c           |.............|  
  2. 0000000d 


-s 从偏移量开始输出

输入:

  1. hexdump -n 13 -C -s 30 test  

输出:

  1. 0000001e  1e 1f 20 21 22 23 24 25  26 27 28 29 2a           |.. !"#$%&'()*|  
  2. 0000002b  


hexdump高级用法:

-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选项


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



例2:
输入:
  1. hexdump -e '1/1 "0x%08_ax "' -e '8/1 "%02X " " *  "' -e '8/1 "%_p" "\n"' test  

输出:
  1. 0x00000000 00 01 02 03 04 05 06 07 *  ........  
  2. 0x00000008 08 09 0A 0B 0C 0D 0E 0F *  ........  
  3. 0x00000010 10 11 12 13 14 15 16 17 *  ........  
  4. 0x00000018 18 19 1A 1B 1C 1D 1E 1F *  ........  
  5. 0x00000020 20 21 22 23 24 25 26 27 *   !"#$%&'  
  6. 0x00000028 28 29 2A 2B 2C 2D 2E 2F *  ()*+,-./  



例3:
输入:
  1. hexdump -e '1/1 "%02_ad#    "' -e '/1 "hex = %02X * "' -e '/1 "dec = %03d | "' -e '/1 "oct = %03o"' -e '/1 " \_\n"' -n 20 test  

输出:
  1. 00#    hex = 00 * dec = 000 | oct = 000 _  
  2. 01#    hex = 01 * dec = 001 | oct = 001 _  
  3. 02#    hex = 02 * dec = 002 | oct = 002 _  
  4. 03#    hex = 03 * dec = 003 | oct = 003 _  
  5. 04#    hex = 04 * dec = 004 | oct = 004 _  
  6. 05#    hex = 05 * dec = 005 | oct = 005 _  
  7. 06#    hex = 06 * dec = 006 | oct = 006 _ 
  8. 07#    hex = 07 * dec = 007 | oct = 007 _  
  9. 08#    hex = 08 * dec = 008 | oct = 010 _  
  10. 09#    hex = 09 * dec = 009 | oct = 011 _  
  11. 10#    hex = 0A * dec = 010 | oct = 012 _  
  12. 11#    hex = 0B * dec = 011 | oct = 013 _  
  13. 12#    hex = 0C * dec = 012 | oct = 014 _  
  14. 13#    hex = 0D * dec = 013 | oct = 015 _  
  15. 14#    hex = 0E * dec = 014 | oct = 016 _  
  16. 15#    hex = 0F * dec = 015 | oct = 017 _  
  17. 16#    hex = 10 * dec = 016 | oct = 020 _  
  18. 17#    hex = 11 * dec = 017 | oct = 021 _  
  19. 18#    hex = 12 * dec = 018 | oct = 022 _  
  20. 19#    hex = 13 * dec = 019 | oct = 023 _  

linux中的hexdump命令

之前介绍过linux下的xxd命令, 现在说hexdump, 从含义来讲, 就是把文件中的hex   dump出来, 类似的有objdump, tcpdump,  我们来看看hexdump, 如下: ...
  • stpeace
  • stpeace
  • 2016年10月20日 23:51
  • 2072

Linux-hexdump命令详解

hexdump:查看一些二进制文件的内容,比如二进制文件中包含的某些字符串。可以将二进制文件转换为ASCII、10进制、16进制或8进制进行查看。 -b 每一字节以八进制显示,一行共16个字节,...
  • u010275850
  • u010275850
  • 2015年03月12日 16:40
  • 985

hexdump命令使用

hexdump命令是Linux下的打印16进制的利器,它可以按我们指定的格式输出16进制,特别有用,配合eeprom来用简直是绝配。 今天我们来介绍一个hexdump命令的使用: ...
  • jeffreyst
  • jeffreyst
  • 2014年01月23日 15:45
  • 835

linux 二进制文件显示方法 --- xxd hexdump od 用法大比拼。

-------------------------------------------------------------------------------- linux 二进制文件显示方法 ---...
  • hejinjing_tom_com
  • hejinjing_tom_com
  • 2013年10月12日 14:51
  • 7940

笨办法学 Python · 续 练习 26:`hexdump`

练习 26:hexdump 原文:Exercise 26: hexdump 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你已经用xargs完...
  • wizardforcel
  • wizardforcel
  • 2017年08月11日 11:36
  • 267

hexdump命令的使用

 hexdump命令是Linux下的打印16进制的利器,它可以按我们指定的格式输出16进制,特别有用,配合eeprom来用简直是绝配。 今天我们来介绍一个hexdump命令的使用: ...
  • wyq393562305
  • wyq393562305
  • 2014年04月22日 21:43
  • 134

hexdump 命令用法

NAME      hexdump - ascii, decimal, hexadecimal, octal dump SYNOPSIS       [-bcCdovx] [-e format_s...
  • cqbamboo
  • cqbamboo
  • 2014年12月11日 11:09
  • 1242

hexdump 命令

用途说明 hexdump命令一般用来查看”二进制“文件的十六进制编码,但实际上它的用途不止如此,手册页上的说法是“ascii, decimal, hexadecimal, octal dump“...
  • trochiluses
  • trochiluses
  • 2013年08月27日 17:26
  • 1021

hexdump命令

今天写shell的时候报错,提示: command not found 2 在网上搜了一下发现是文件的格式不对,dos2unix一下就好了。进一步的搜发现有个工具hexdump可以查看文件格式是不...
  • ywh147
  • ywh147
  • 2013年08月28日 19:06
  • 1943

linux c之hexdump的实现

#include #include #include #include //http://androidxref.com/7.1.1_r6/xref/external/avahi/avah...
  • earbao
  • earbao
  • 2017年01月19日 14:49
  • 819
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hexdump命令使用
举报原因:
原因补充:

(最多只允许输入30个字)