hexdump用法_linux dump命令

hexdump用法_linux dump命令本文乃fireaxe原创,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,并注明原作者及原链接。内容可任意使用,但对因使用该内容引起的后果不做任何保证。作者:fireaxe_hq@hotmail.com博客:fireaxe.blog.chinaunix.net转自:http://blog.chinaunix.net/uid-20528014-id-4087756.html开发时经常会…

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

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

本文乃fireaxe原创,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,并注明原作者及原链接。内容可任意使用,但对因使用该内容引起的后果不做任何保证。

作者:fireaxe_hq@hotmail.com

博客:fireaxe.blog.chinaunix.net

转自:
http://blog.chinaunix.net/uid-20528014-id-4087756.html


开发时经常会需查看非文本文件内容,最常见的16进制查看器就是hexdump。hexdump 看似简单,但还是有些小技巧的。




以文本文件tmpfile为例:

点击(此处)折叠或打开

  1. Happy New Year!
  2. Happy New Year!
  3. Happy New Year!

1)  最简单的方式


hexdump testfile



0000000 6148 7070 2079 654e 2077 6559 7261 0a21
*
0000030



这种方式是以两个字节为一组,其顺序取决于本机字节序。比如在x86架构上就是以blittle-endian方式显示,看起来会很费劲。


如第一行翻译成ascii码:


6148 7070 2079 654e 2077 6559 7261 0a21


aH     pp      y     Ne      w     e      ae     !r




为了避免这种情况,就要用到下面的”以字节方式查看“




2)  以字节方式查看


hexdump -C testfile -s skip -n number



00000000  48 61 70 70 79 20 4e 65  77 20 59 65 61 72 21 0a  |Happy New Year!.|
*
00000030



这种方式就不会有字节序问题了,而且还能同时显示16进制与ascii码,但存在的问题是,如果某几行的内容相同,会省略掉后几行,这个有时也会造成麻烦。如何避免省略呢?




3) 不要省略


hexdump -v testfile



0000000 6148 7070 2079 654e 2077 6559 7261 0a21
0000010 6148 7070 2079 654e 2077 6559 7261 0a21
0000020 6148 7070 2079 654e 2077 6559 7261 0a21
0000030



现在省略是没有了,但又回到了两字节显示的老路上,所以我们要把两种方式结合起来。




4) 字节方式显示且不要省略


hexdump -Cv testfile



00000000  48 61 70 70 79 20 4e 65  77 20 59 65 61 72 21 0a  |Happy New Year!.|
00000010  48 61 70 70 79 20 4e 65  77 20 59 65 61 72 21 0a  |Happy New Year!.|
00000020  48 61 70 70 79 20 4e 65  77 20 59 65 61 72 21 0a  |Happy New Year!.|
00000030



现在就好看多了,既是以单字节方式显示,又不会省略了。但有时文件很大,我们只想查看其中一段,怎么把呢?




5) 显示某一段


hexdump -Cv testfile -s skip -n number



fireaxe $ hexdump -Cv tmp.txt -n 1
00000000  48                                                |H|
00000001

fireaxe $ hexdump -Cv tmp.txt -n 2
00000000  48 61                                             |Ha|
00000002

fireaxe $ hexdump -Cv tmp.txt -n 3
00000000  48 61 70                                          |Hap|
00000003

fireaxe $ hexdump -Cv tmp.txt -s 1 -n 1
00000001  61                                                |a|
00000002
fireaxe $ hexdump -Cv tmp.txt -s 2 -n 1
00000002  70                                                |p|
00000003
fireaxe $ hexdump-Cv tmp.txt -s 3 -n 1
00000003  70                                                |p|
00000004



OK, 整个显示过程都可以自由控制了~~



本文乃fireaxe原创,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,并注明原作者及原链接。内容可任意使用,但对因使用该内容引起的后果不做任何保证。

作者:fireaxe_hq@hotmail.com

博客:fireaxe.blog.chinaunix.net

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191124.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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