busybox hexdump 命令使用
2024-10-20 01:23:43
http://blog.sina.com.cn/s/blog_a6559d920101gvlk.html
hexdump命令是Linux下的打印16进制的利器,它可以按我们指定的格式输出16进制,特别有用,配合eeprom来用简直是绝配。
今天我们来介绍一个hexdump命令的使用:
首先我们准备一个测试用的文件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
- 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
选项:
-n length
只格式化输入文件的前length个字节
-C 输出十六进制和对应字符
输入:
- hexdump -n 13 -C test
- hexdump -n 13 -C test
输出:
- 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c |.............|
- 0000000d
- 00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c |.............|
- 0000000d
-s 从偏移量开始输出
输入:
- hexdump -n 13 -C -s 30 test
- hexdump -n 13 -C -s 30 test
输出:
- 0000001e 1e 1f 20 21 22 23 24 25 26 27 28 29 2a |.. !"#$%&'()*|
- 0000002b
- 0000001e 1e 1f 20 21 22 23 24 25 26 27 28 29 2a |.. !"#$%&'()*|
- 0000002b
hexdump高级用法:
-e
指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:
指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:
'a/b "format1"
"format2"'
"format2"'
每
个格式字符串由三部分组成,每个由空格分隔,第一个形如a/b,b表示对每b个输入字节应用format1格式,a表示对每a个输入字节应用
format2格式,一般a>b,且b只能为1,2,4,另外a可以省略,省略则a=1。format1和format2中可以使用类似
printf的格式字符串,如:
个格式字符串由三部分组成,每个由空格分隔,第一个形如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:
输入:
- hexdump -e '16/1 "X " " | "' -e '16/1 "%_p" "\n"' test
- hexdump -e '16/1 "X " " | "' -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 | !"#$%&'()*+,-./
- 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 | !"#$%&'()*+,-./
例2:
输入:
- hexdump -e '1/1 "0x_ax "' -e '8/1 "X " " * "' -e '8/1 "%_p" "\n"' test
- hexdump -e '1/1 "0x_ax "' -e '8/1 "X " " * "' -e '8/1 "%_p" "\n"' test
输出:
- 0x00000000 00 01 02 03 04 05 06 07 * ........
- 0x00000008 08 09 0A 0B 0C 0D 0E 0F * ........
- 0x00000010 10 11 12 13 14 15 16 17 * ........
- 0x00000018 18 19 1A 1B 1C 1D 1E 1F * ........
- 0x00000020 20 21 22 23 24 25 26 27 * !"#$%&'
- 0x00000028 28 29 2A 2B 2C 2D 2E 2F * ()*+,-./
- 0x00000000 00 01 02 03 04 05 06 07 * ........
- 0x00000008 08 09 0A 0B 0C 0D 0E 0F * ........
- 0x00000010 10 11 12 13 14 15 16 17 * ........
- 0x00000018 18 19 1A 1B 1C 1D 1E 1F * ........
- 0x00000020 20 21 22 23 24 25 26 27 * !"#$%&'
- 0x00000028 28 29 2A 2B 2C 2D 2E 2F * ()*+,-./
例3:
输入:
- hexdump -e '1/1 "_ad# "' -e '/1 "hex = X * "' -e '/1 "dec = d | "' -e '/1 "oct = o"' -e '/1 " \_\n"' -n 20 test
- hexdump -e '1/1 "_ad# "' -e '/1 "hex = X * "' -e '/1 "dec = d | "' -e '/1 "oct = o"' -e '/1 " \_\n"' -n 20 test
输出:
- 00# hex = 00 * dec = 000 | oct = 000 _
- 01# hex = 01 * dec = 001 | oct = 001 _
- 02# hex = 02 * dec = 002 | oct = 002 _
- 03# hex = 03 * dec = 003 | oct = 003 _
- 04# hex = 04 * dec = 004 | oct = 004 _
- 05# hex = 05 * dec = 005 | oct = 005 _
- 06# hex = 06 * dec = 006 | oct = 006 _
- 07# hex = 07 * dec = 007 | oct = 007 _
- 08# hex = 08 * dec = 008 | oct = 010 _
- 09# hex = 09 * dec = 009 | oct = 011 _
- 10# hex = 0A * dec = 010 | oct = 012 _
- 11# hex = 0B * dec = 011 | oct = 013 _
- 12# hex = 0C * dec = 012 | oct = 014 _
- 13# hex = 0D * dec = 013 | oct = 015 _
- 14# hex = 0E * dec = 014 | oct = 016 _
- 15# hex = 0F * dec = 015 | oct = 017 _
- 16# hex = 10 * dec = 016 | oct = 020 _
- 17# hex = 11 * dec = 017 | oct = 021 _
- 18# hex = 12 * dec = 018 | oct = 022 _
- 19# hex = 13 * dec = 019 | oct = 023 _
最新文章
- 19-typedef
- Arduino 极速入门系列 - 光控灯(3) - 光敏电阻、与电阻分压那些事
- sublime使用小技巧——自动保存后缀名与自动匹配语法
- 十分钟使用github pages +hexo拥有个人博客
- 15天玩转redis —— 第四篇 哈希对象类型
- Oracle 数据库基础学习 (三) Oracle 四个表结构
- [ html canvas putImageData ] canvas绘图属性 putImageData 属性讲解
- SharePoint服务器将连接配置数据库的连接字符串保存在什么地方?
- 【三支火把】---C语言面试问题总结
- Hadoop RPC源码阅读-交互协议
- 关于C#中的弱引用
- 在linux系统中I/O 调度的选择
- redis的一些修改
- 基于DBUtils实现数据库连接池
- ckplayer跨域调用
- Apache与Nginx
- 图的基本操作(基于邻接表):图的构造,深搜(DFS),广搜(BFS)
- FMX TListView 搜索 Search
- apache commons pool
- 浅谈splay的双旋
热门文章
- Redis学习篇(十一)之发布订阅
- Hibernate 基于外键的单项一对一关联映射
- 【BZOJ 3676】 3676: [Apio2014]回文串 (SAM+Manacher+倍增)
- 【HDU 6021】 MG loves string (枚举+容斥原理)
- [BZOJ4320][ShangHai2006]Homework(根号分治+并查集)
- 【坐标变换】【二维偏序】【线段树】Gym - 100820G - Racing Gems
- Problem C: 深入浅出学算法004-求多个数的最小公倍数
- bzoj 3784
- 编程经验(C#)
- YII 关联查询