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. 给出一列数a1,a2,a3....an,求它们的逆序对数,即有多少个有序对(i,j) 使得iaj,n高达10的6次方

    //归并排序 //#include<stdio.h> //#include<string.h> //#include<algorithm> //#include&l ...

  2. 【BZOJ 1019】 1019: [SHOI2008]汉诺塔 (DP?)

    1019: [SHOI2008]汉诺塔 Description 汉诺塔由三根柱子(分别用A B C表示)和n个大小互不相同的空心盘子组成.一开始n个盘子都摞在柱子A上,大的在下面,小的在上面,形成了一 ...

  3. NOIP2017 D2T1奶酪

    这题终于是正经第一题感觉了. 只需要对相交或相切的球建一条边,然后对所有与底面有交点的球连边,再对所有与顶面有交点的球连边,bfs判断上下连通性即可. #include<iostream> ...

  4. UOJ #30. [CF Round #278] Tourists

    UOJ #30. [CF Round #278] Tourists 题目大意 : 有一张 \(n\) 个点, \(m\) 条边的无向图,每一个点有一个点权 \(a_i\) ,你需要支持两种操作,第一种 ...

  5. Codeforces 388 D. Fox and Perfect Sets

    $ >Codeforces \space 388 D.  Fox and Perfect Sets<$ 题目大意 : 定义一个完美的集合 \(S\) ,当且仅当 \(S\) 非负非空,且 ...

  6. 【树形DP】BZOJ1040-[ZJOI2008]骑士

    [题目大意] 有n个骑士,给出他们的能力值和最痛恨的一位骑士.选出一个骑士军团,使得军团内没有矛盾的两人(不存在一个骑士与他最痛恨的人一同被选入骑士军团的情况),并且,使得这支骑士军团最具有战斗力,求 ...

  7. JDK源码(1.7) -- java.util.AbstractCollection<E>

    java.util.AbstractCollection<E> 源码分析(JDK1.7) ------------------------------------------------- ...

  8. hdu 5232 Shaking hands 水题

    Shaking hands Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pi ...

  9. 谨慎Asp.ne B/S架构t中static变量

    在.Net平台下进行CS软件开发时,我们经常遇到以后还要用到某些变量上次修改后的值,为了简单起见,很多人都习惯用static来定义这些变量,我也是.这样非常方便,下一次调用某个函数时该变量仍然保存的是 ...

  10. 普通主板设置BIOS实现电脑插电自动启动

    说明: 1.为什么要实现这种功能,很多时候在民间都基本用普通PC来做小型服务器,公司的私服等等,而这些普通PC在民用电环境中经常会停电,一停就会导致服务器不能自动来电重启,所以这个功能来点开机是必须的 ...