linux hexdump命令_hexdump用法

linux hexdump命令_hexdump用法Linux中hexdump命令简介hexdump主要用来查看“二进制”文件的十六进制编码。*注意:它能够查看任何文件,不限于与二进制文件。*语法hexdump[选项][文件]…选项-nlength:格式化输出文件的前length个字节-C:输出规范的十六进制和ASCII码-b:单字节八进制显示-c:单字节字符显示-d:双字节十进制显示-o:双字节八进制显示-…

大家好,又见面了,我是你们的朋友全栈君。

Linux中hexdump命令

  • 简介

    hexdump主要用来查看“二进制”文件的十六进制编码。*注意:它能够查看任何文件,不限于与二进制文件。*

  • 语法

    hexdump [选项] [文件]…

  • 选项

    • n length:格式化输出文件的前length个字节
    • C:输出规范的十六进制和ASCII码
    • -b:单字节八进制显示
    • -c:单字节字符显示
    • -d:双字节十进制显示
    • -o:双字节八进制显示
    • -x:双字节十六进制显示
    • -s:从偏移量开始输出
    • -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选项
  • 使用举例

    • C语言保存二进制文件test

      #include <stdio.h>
      #include <stdlib.h>
      
      int main() {
              FILE *fp_in;
              fp_in = fopen("test", "wb");
              if (fp_in == NULL) {
                      printf("open test failed\n");
                      return -1;
              }
              else {
                      for (unsigned char i = 0; i < 100; i++) {
                              fwrite(&i ,sizeof(unsigned char), 1, fp_in);
                      }
                      fclose(fp_in);
              }
              return 0;
      }
      

      编译:g++ main.cpp -o main
      执行:./main即可生成二进制文件test

    • 格式化输出文件

      hexdump test

    • 格式化输出文件的前10个字节

      hexdump -n 10 test

    • 格式化输出文件的前10个字节,并以16进制显示

      hexdump -n 10 -C test

    • 格式化输出从10开始的10个字节,并以16进制显示

      hexdump -n 10 -C -s 20

    • 格式化输出文件字符

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

      hexdump -e ‘1/1 “0x%08_ax “’ -e ‘8/1 “%02X ” ” * “’ -e ‘8/1 “%_p” “\n”’ 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

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

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

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


相关推荐

  • 银河麒麟v10.1_银河麒麟v10系统

    银河麒麟v10.1_银河麒麟v10系统银河麒麟v10下载(服务器版桌面版)-2022-03-16更新银河麒麟桌面操作系统V10和银河麒麟高级服务器操作系统V10,分别推出了飞腾、鲲鹏、龙芯、申威、海光、兆芯六个版本银河麒麟高级服务器操作系统V10银河麒麟桌面操作系统V10…

    2022年10月16日
    5
  • HashMap的hash碰撞

    HashMap的hash碰撞看了看HashMap的源码,有些心得先写下,以便以后查看,不然又要忘了,但不知道对不对,希望没误人子弟吧。主要是解释下HashMap底层实现与如何解决hash碰撞的。HashMap底层是table数组,Entry是HashMap的内部类。可以看到HashMap的key与value实际是保存在Entry中的,next是下一个Entry节点。staticfinalEntry&lt;…

    2022年6月22日
    31
  • idea mac 常用快捷键[通俗易懂]

    #IDEAMacOS全局查找快捷键shift+Command+F#全局类名称搜索shift+shift(没有发生变化)#移动代码行方式一:shift+command+⬆️或者⬇️方式二:shift+option+⬆️或者⬇️#光标在代码中间,将光标移动到行尾并且自动添加行尾结束符号;shift+command+return(这里不会进行换行操作,eclipse上面会进行换行操作)#代码美化o…

    2022年4月15日
    226
  • makefile 常用函数notdir、wildcard、patsubst

    notdir,wildcard和patsubst是makefile中几个有用的函数,以前没留意过makefile中函数的用法,今天稍微看看~ 1、makefile里的函数makefile里的函数使用,和取变量的值类似,是以一个‘$’开始,然后是一个括号里面是函数名和需要的参数列表,多个变量用逗号隔开,像这样return=$(functionname arg1,

    2022年4月7日
    62
  • c语言中putchar的用法举例_c语言getchar和gets

    c语言中putchar的用法举例_c语言getchar和gets认识getchar是以行为单位进行存取的当用getchar进行输入时,如果输入的第一个字符为有效字符(即输入是文件结束符EOF,Windows下为组合键Ctrl+Z,Unix/Linux下为组合键Ctrl+D)那么只有当最后一个输入字符为换行符’\n'(也可以是文件结束符EOF,EOF将在后面讨论)时,getchar才会停止执行,整个程序将会往下执行。譬如下面程序代码:while((c=getchar())!=EOF){putchar(c);}执行程序,输入:abc,然

    2022年10月10日
    1
  • MS17010漏洞利用姿势

    MS17010漏洞利用姿势MSF在msf中常规的17-010打法如下扫描是否存在ms17-010漏洞:nmap-n-p445–scriptsmb-vuln-ms17-010192.168.1.0/24–openMSF常规漏洞利用msf>useexploit/windows/smb/ms17_010_eternalbluemsf>setrhost192.168.1.112目标出网时反向打:msf>setpayloadwindows/x64/met..

    2022年4月29日
    501

发表回复

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

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