http://blog.sina.com.cn/s/blog_a6559d920101gvlk.html

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

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

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

[plain] view
plain
copy

 
  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
[plain] view
plain
copy

 
  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 输出十六进制和对应字符

输入:

[plain] view
plain
copy

 
  1. hexdump -n 13 -C test
[plain] view
plain
copy

 
  1. hexdump -n 13 -C test

输出:

[plain] view
plain
copy

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

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

-s 从偏移量开始输出

输入:

[plain] view
plain
copy

 
  1. hexdump -n 13 -C -s 30 test
[plain] view
plain
copy

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

输出:

[plain] view
plain
copy

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

 
  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的格式字符串,如:
d:两位十进制
x:三位十六进制
o:两位八进制
%c:单个字符

还有一些特殊的用法:
%_ad:标记下一个输出字节的序号,用十进制表示
%_ax:标记下一个输出字节的序号,用十六进制表示
%_ao:标记下一个输出字节的序号,用八进制表示
%_p:对不能以常规字符显示的用.代替
同一行如果要显示多个格式字符串,则可以跟多个-e选项
例1:
输入:
[plain] view
plain
copy

 
  1. hexdump -e '16/1 "X " "  |  "' -e '16/1 "%_p" "\n"' test
[plain] view
plain
copy

 
  1. hexdump -e '16/1 "X " "  |  "' -e '16/1 "%_p" "\n"' test

输出:

[plain] view
plain
copy

 
  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  |   !"#$%&'()*+,-./
[plain] view
plain
copy

 
  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:
输入:
[plain] view
plain
copy

 
  1. hexdump -e '1/1 "0x_ax "' -e '8/1 "X " " *  "' -e '8/1 "%_p" "\n"' test
[plain] view
plain
copy

 
  1. hexdump -e '1/1 "0x_ax "' -e '8/1 "X " " *  "' -e '8/1 "%_p" "\n"' test
输出:
[plain] view
plain
copy

 
  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 *  ()*+,-./
[plain] view
plain
copy

 
  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:
输入:
[plain] view
plain
copy

 
  1. hexdump -e '1/1 "_ad#    "' -e '/1 "hex = X * "' -e '/1 "dec = d | "' -e '/1 "oct = o"' -e '/1 " \_\n"' -n 20 test
[plain] view
plain
copy

 
  1. hexdump -e '1/1 "_ad#    "' -e '/1 "hex = X * "' -e '/1 "dec = d | "' -e '/1 "oct = o"' -e '/1 " \_\n"' -n 20 test
输出:
[plain] view
plain
copy

 
  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 _

busybox hexdump 命令使用的更多相关文章

  1. hexdump命令的使用

    hexdump命令是Linux下的打印16进制的利器,它可以按我们指定的格式输出16进制,特别有用,配合eeprom来用简直是绝配. 今天我们来介绍一个hexdump命令的使用: 首先我们准备一个测试 ...

  2. Linux od与hexdump命令

    od命令:以指定格式输出文件内容常用格式:od -Ax -tx1 filename直接格式:od filename 等价 od -o filename语法:od [-abcdfsiloxv] [-An ...

  3. busybox tar 命令支持 tar.gz

    原始的 busybox 里面的 tar 命令不支持 tar.gz 解压 在 busybox-menuconfig 里面加入 下面的选项即可

  4. busybox rx 命令

    rx命令使用xmodem传送文件,只需要串口线就传送. 在文件系统输入如下命令,传送文件到板子上,板子上保存文件的名称为file rx file 在secureCRT中选择Transfer->S ...

  5. 〖Android〗巧用/system/etc/mkshrc文件,把busybox常用命令映射(链接)出来;

    在/system/etc/mkshrc文中尾部添加以下代码即可: # for busybox for n in $(busybox --list) do eval alias $n=\'busybox ...

  6. hexdump命令

    hexdump hexdump用于以16进制.10进制.8进制.ascii码形式打印文件内容,也可以是标准输入的内容. 用法 hexdump [选项] 文件 ... 选项 选项 参数 说明 -b   ...

  7. Linux命令学习总结:hexdump

    命令简介: hexdump是Linux下的一个二进制文件查看工具,它可以将二进制文件转换为ASCII.八进制.十进制.十六进制格式进行查看. 指令所在路径:/usr/bin/hexdump 命令语法: ...

  8. 我使用过的Linux命令之hexdump - ”十六“进制查看器(转载)

    转载:http://codingstandards.iteye.com/blog/805778 本文链接:http://codingstandards.iteye.com/blog/805778   ...

  9. Linux命令:hexdump

    hexdump是Linux下的一个二进制文件查看工具,它可以将二进制文件转换为ASCII.八进制.十进制.十六进制格式进行查看. 指令所在路径:/usr/bin/hexdump 命令语法: hexdu ...

随机推荐

  1. NetBIOS主机名扫描工具nbtscan

    NetBIOS主机名扫描工具nbtscan   NetBIOS主机名是NetBIOS协议为主机分配的名称.通过NetBIOS主机名,系统可以利用WINS服务.广播及Lmhost文件等多种模式将NetB ...

  2. 模拟算法+栈 HDU 1022

    Train Problem I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  3. hihocoder 1522 : F1 Score

    题目链接   时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和他的小伙伴们一起写了很多代码.时间一久有些代码究竟是不是自己写的,小Hi也分辨不出来了. 于是他实现 ...

  4. mysql group by 组内排序

    有数据表 comments------------------------------------------------| id | newsID | comment | theTime |---- ...

  5. CentOS 6.9/7通过yum安装指定版本的PostgreSQL扩展PostGIS

    一.安装PostGIS扩展插件(24_10) // 安装EPEL源 # rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-rele ...

  6. Regulator IC forms convenient overvoltage detector

    Figure 1 shows a simple, stand-alone overvoltage detector. The intent of the circuit is to monitor a ...

  7. 64位系统下同时使用64位和32位的eclipse

    eclipse.ini 文件使用说明 The -vm option and its value (the path) must be on separate lines. The value must ...

  8. Spring EL方法调用实例

    Spring表达式语言(使用SpEL)允许开发人员使用表达式来执行方法和将返回值以注入的方式到属性,或叫作“使用SpEL方法调用”. Spring EL在注解的形式 了解如何实现Spring EL方法 ...

  9. 3月题外:关于JS实现图片缩略图效果的一个小问题

    由于3月可能要结束实习,所以应该不会有特别固定的主题,另外我会在月初陆续补上上个月的番外篇Projection和TMS,作为介绍性的内容对矢量切片部分进行补充,剩下时间不定期写一些杂烩. 最近两天在做 ...

  10. 获取easyui calendar 属性

    <div id="cc" class="easyui-calendar" style="width:250px;height:250px;&qu ...