hexdump用法_comm命令

hexdump用法_comm命令hexdump命令是Linux下的打印16进制的利器,它可以按我们指定的格式输出16进制,特别有用,配合eeprom来用简直是绝配。今天我们来介绍一个hexdump命令的使用: 首先我们准备一个测试用的文件test,十六进制如下: [plain]viewplaincopy00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F  …

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

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

 

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

 

[plain] view plaincopy

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

输入:

 

[plain] view plaincopy

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

 

输出:

 

[plain] view plaincopy

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

 

 

 

-s 从偏移量开始输出

输入:

 

[plain] view plaincopy

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

 

输出:

 

[plain] view plaincopy

  1. 0000001e  1e 1f 20 21 22 23 24 25  26 27 28 29 2a           |.. !”#$%&'()*|  
  2. 0000002b  
0000001e  1e 1f 20 21 22 23 24 25  26 27 28 29 2a           |.. !"#$%&'()*|
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:

输入:

[plain] view plaincopy

  1. hexdump -e ’16/1 “%02X ” ”  |  “‘ -e ’16/1 “%_p” “\n”‘ test  
 hexdump -e '16/1 "%02X " "  |  "' -e '16/1 "%_p" "\n"' test

输出:
[plain] view plaincopy

  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  |   !”#$%&'()*+,-./  
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:

输入:

[plain] view plaincopy

  1. hexdump -e ‘1/1 “0x%08_ax “‘ -e ‘8/1 “%02X ” ” *  “‘ -e ‘8/1 “%_p” “\n”‘ test  
hexdump -e '1/1 "0x%08_ax "' -e '8/1 "%02X " " *  "' -e '8/1 "%_p" "\n"' test

输出:

[plain] view plaincopy

  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 *  ()*+,-./  
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:

输入:

[plain] view plaincopy

  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  
hexdump -e '1/1 "%02_ad#    "' -e '/1 "hex = %02X * "' -e '/1 "dec = %03d | "' -e '/1 "oct = %03o"' -e '/1 " \_\n"' -n 20 test

输出:

[plain] view plaincopy

  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 _
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190914.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 幼儿绘本-套装

    幼儿绘本-套装书名出版社出版时间定价团价聪明豆绘本系列第1辑6本《聪明豆绘本系列第1辑:咕噜牛》2014-1-125.030.0《聪明豆绘本系列第1辑:咕噜牛小妞妞》2014-1-125.0《聪明豆绘本系列第1辑:女巫扫帚排排坐》2014-1-125.0《聪明豆绘本系列第1辑:小房子变大房子》2014

    2022年7月27日
    3
  • WLAN 与WIFI的区别?

    WLAN 与WIFI的区别?一、WIFIWIFI是一种可以将个人电脑、手持设备(如PDA、手机)等终端以无线方式互相连接的技术。WIFI技术与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。Wi-Fi原先是无线保真的缩写,Wi-Fi的英文全称为wirelessfidelity,在无线局域网的范畴是指“无线相容性认证”,实质上是一种商业认证,同时也是一种无线联网的技术,以前通过网线连接电脑,而现在则…

    2022年7月11日
    19
  • Java 实现一个单例模式_Java实现单例模式的两种方式

    Java 实现一个单例模式_Java实现单例模式的两种方式单例模式在实际开发中有很多的用途,比如我们在项目中常用的工具类,数据库等资源的连接类。这样做的好处是避免创建多个对象,占用内存资源,自始自终在内存中只有一个对象为我们服务。单例对象一般有两种实现方式。懒汉式和饿汉式。饿汉式实现如下:packagecom.day05;/***饿汉式**@authorAdministrator**/publicclassSingle{//定义一个个私有静态本类对…

    2022年7月8日
    21
  • nginx和gateway什么关系_api网关和redis的关系

    nginx和gateway什么关系_api网关和redis的关系经常遇到别人问我,有了nginx做网关,为啥还要用到gateway呢首先这两种网关的定义不一样用户访问的总入口,也就是前端页面的容器,流量网关gateway的定义是针对每一个业务微服务来得,属于业务网关借鉴一个图对于具体的后端业务应用或者是服务和业务有一定关联性的策略网关就是上图左边的架构模型——业务网关。业务网关针对具体的业务需要提供特定的流控策略、缓存策略、鉴权认证策略等等。与业务网关相反,定义全局性的、跟具体的后端业务应用和服务完全无关的策略网关就是上图右边所示的架构模型

    2022年10月11日
    1
  • SD卡 MMC卡 MS卡 TF卡

    SD卡 MMC卡 MS卡 TF卡SD卡(SecureDigitalMemoryCard)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。SD卡在24mm×32mm×2.1mm的体积内结合了SanDisk快闪记忆卡控制与MLC(MultilevelCell)技术和Toshiba(东芝)0.16u及0.13u的NAND技术,通过9针…

    2022年5月29日
    77
  • IP地址和子网划分例题详解

    IP地址和子网划分例题详解1、为什么要划分子网?IPv4地址如果只使用有类(A、B、C类)来划分,会造成大量的浪费或者不够用,为了解决这个问题,可以在有类网络的基础上,通过对IP地址的主机号进行再划分,把一部分划入网络号,就能划分各种类型大小的网络了。2、IPv4子网划分与聚合为了解决IPv4的不足,提高网络划分的灵活性,诞生了两种非常重要的技术,那就是VLSM(可变长子网掩码)和CIDR(无类别域间路由),把传统标准的IPv4有类网络演变成一个更为高效,更为实用的无类网络。关于VLSM和CIDR的介绍参考上篇子网掩码详解有

    2022年6月27日
    95

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号