千家信息网

Linux常用命令hexdump怎么用

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,小编给大家分享一下Linux常用命令hexdump怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux常用命令h
千家信息网最后更新 2024年11月30日Linux常用命令hexdump怎么用

小编给大家分享一下Linux常用命令hexdump怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Linux常用命令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的格斯字符串。

    • d:两位十进制

    • x:三位十六进制

    • o:两位八进制

    • %c:单个字符等

    • %_ad:标记下一个输出字节的序号,用十进制表示

    • %_ax:标记下一个输出字节的序号,用十六进制表示

    • %_ao:标记下一个输出字节的序号,用八进制表示

    • %_p:对不能以常规字符显示的用.代替

    • 同一行显示多个格式字符串,可以跟多个-e选项

实例

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

     #include #include  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编译: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

  • 格式化输出文件字符

    h

    hexdump -e '16/1 "X " " | "' -e '16/1 "%_p" "\n"' test

    hexdump -e '1/1 "0x_ax "' -e '8/1 "X " " * "' -e '8/1 "%_p" "\n"' test

    hexdump -e '1/1 "_ad# "' -e '/1 "hex = X * "' -e '/1 "dec = d | "' -e '/1 "oct = o"' -e '/1 " _\n"' -n 20 test

以上是"Linux常用命令hexdump怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0