前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux中hexdump命令「建议收藏」

Linux中hexdump命令「建议收藏」

作者头像
全栈程序员站长
发布2022-11-08 15:59:00
8710
发布2022-11-08 15:59:00
举报
文章被收录于专栏:全栈程序员必看

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

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

代码语言:javascript
复制
#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.cn/191003.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月21日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档