hexdump命令_pg_dump命令

hexdump命令_pg_dump命令有时候需要查看一些二进制文件的内容,比如二进制文件中包含的某些字符串。这个时候可以用hexdump工具看查看。常用参数:hexdump-C-nlength-sskipfile_name-C定义了导出的格式,-sskip指定了从文件头跳过多少字节,或者说是偏移量,默认是十进制。如果是0x开头,则是十六进制。-n指定了导出多少长度如果是寻找文本内容,则经常在后

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

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

有时候需要查看一些二进制文件的内容,比如二进制文件中包含的某些字符串。这个时候可以用hexdump工具看查看。
常用参数: hexdump -C -n length -s skip file_name
-C 定义了导出的格式,-s skip 指定了从文件头跳过多少字节,或者说是偏移量,默认是十进制。如果是0x开头,则是十六进制。
-n 指定了导出多少长度

如果是寻找文本内容,则经常在后面用管道跟上grep命令:hexdump -C file_name |grep hellokitty
这样就可以找到相关内容的偏移量,然后hexdump -C -n length -s skip file_name 查看文本附近的内容

用途说明

hexdump命令一般用来查看”二进制“文件的十六进制编码,但实际上它的用途不止如此,手册页上的说法是“ascii, decimal, hexadecimal, octal dump“,这也就是本文标题为什么要将”十六“给引起来的原因,而且它能查看任何文件,而不只限于二进制文件了。另外还有xxd和od也可以做类似的事情,但是我从未用过。在程序输出二进制格式的文件时,常用hexdump来检查输出是否正确。当然也可以使用Windows上的UltraEdit32之类的工具查看文件的十六进制编码,但Linux上有现成的工具,何不拿来用呢。

常用参数

如果要看到较理想的结果,使用-C参数,显示结果分为三列(文件偏移量、字节的十六进制、ASCII字符)。

格式:hexdump -C binfile

一般文件都不是太小,最好用less来配合一下。

格式:hexdump -C binfile | less

 

使用示例

示例一 比较各种参数的输出结果

[root@new55 ~]# echo /etc/passwd | hexdump
0000000 652f 6374 702f 7361 7773 0a64          
000000c
[root@new55 ~]# echo /etc/passwd | od -x
0000000 652f 6374 702f 7361 7773 0a64
0000014
[root@new55 ~]# echo /etc/passwd | xxd
0000000: 2f65 7463 2f70 6173 7377 640a            /etc/passwd.
[root@new55 ~]# echo /etc/passwd | hexdump -C    <== 规范的十六进制和ASCII码显示(Canonical hex+ASCII display
00000000  2f 65 74 63 2f 70 61 73  73 77 64 0a              |/etc/passwd.|
0000000c
[root@new55 ~]# echo /etc/passwd | hexdump -b     <== 单字节八进制显示(One-byte octal display)
0000000 057 145 164 143 057 160 141 163 163 167 144 012                
000000c
[root@new55 ~]# echo /etc/passwd | hexdump -c     <== 单字节字符显示(One-byte character display)
0000000   /   e   t   c   /   p   a   s   s   w   d  \n                
000000c
[root@new55 ~]# echo /etc/passwd | hexdump -d     <== 双字节十进制显示(Two-byte decimal display)
0000000   25903   25460   28719   29537   30579   02660                
000000c
[root@new55 ~]# echo /etc/passwd | hexdump -o     <== 双字节八进制显示(Two-byte octal display)
0000000  062457  061564  070057  071541  073563  005144                
000000c
[root@new55 ~]# echo /etc/passwd | hexdump -x     <== 双字节十六进制显示(Two-byte hexadecimal display)
0000000    652f    6374    702f    7361    7773    0a64                
000000c
[root@new55 ~]# echo /etc/passwd | hexdump -v
0000000 652f 6374 702f 7361 7773 0a64          
000000c

 

比较来比较去,还是hexdump -C的显示效果更好些。

示例二 确认文本文件的格式

文本文件在不同操作系统上的行结束标志是不一样的,经常会碰到由此带来的问题。比如Linux的许多命令不能很好的处理DOS格式的文本文件。Windows/DOS下的文本文件是以\r\n作为行结束的,而Linux/Unix下的文本文件是以\n作为行结束的。

 

[root@new55 ~]# cat test.bc
123*321
123/321
scale=4;123/321

[root@new55 ~]# hexdump -C test.bc
00000000  31 32 33 2a 33 32 31 0a  31 32 33 2f 33 32 31 0a  |123*321.123/321.|
00000010  73 63 61 6c 65 3d 34 3b  31 32 33 2f 33 32 31 0a  |scale=4;123/321.|
00000020  0a                                                |.|
00000021
[root@new55 ~]#

 

注:常见的ASCII字符的十六进制表示

\r      0D

\n     0A

\t      09

DOS/Windows的换行符 \r\n 即十六进制表示 0D 0A

Linux/Unix的换行符      \n    即十六进制表示 0A

 

示例三 查看wav文件

有些IVR系统需要8K赫兹8比特的语音文件,可以使用hexdump看一下具体字节编码。

[root@web186 root]# ls -l tmp.wav
-rw-r–r–    1 root     root        32381 2010-04-19  tmp.wav
[root@web186 root]# file tmp.wav
tmp.wav: RIFF (little-endian) data, WAVE audio, ITU G.711 a-law, mono 8000 Hz

[root@web186 root]# hexdump -C tmp.wav | less
00000000  52 49 46 46 75 7e 00 00  57 41 56 45 66 6d 74 20  |RIFFu~..WAVEfmt |
00000000  52 49 46 46 75 7e 00 00  57 41 56 45 66 6d 74 20  |RIFFu~..WAVEfmt |
00000010  12 00 00 00 06 00 01 00  40 1f 00 00 40 1f 00 00  |……..@…@…|
00000020  01 00 08 00 00 00 66 61  63 74 04 00 00 00 43 7e  |……fact….C~|
00000030  00 00 64 61 74 61 43 7e  00 00 d5 d5 d5 d5 d5 d5  |..dataC~……..|
00000040  d5 d5 d5 d5 d5 d5 d5 d5  d5 d5 d5 d5 d5 d5 d5 d5  |…………….|
*
000000a0  d5 d5 d5 d5 d5 d5 d5 d5  d5 55 d5 55 d5 d5 55 d5  |………U.U..U.|
000000b0  55 d5 d5 55 d5 55 d5 d5  55 d5 55 55 55 55 55 55  |U..U.U..U.UUUUUU|
000000c0  55 55 55 55 55 55 55 d5  d5 d5 d5 d5 d5 d5 d5 d5  |UUUUUUU………|
000000d0  d5 55 55 55 55 55 55 55  55 55 55 55 55 55 55 55  |.UUUUUUUUUUUUUUU|
000000e0  55 55 55 55 55 55 55 55  55 d5 d5 d5 d5 d5 d5 d5  |UUUUUUUUU…….|
000000f0  d5 d5 d5 d5 55 55 55 55  55 55 55 55 55 55 55 55  |….UUUUUUUUUUUU|
00000100  55 55 55 55 55 55 55 55  55 55 55 55 d5 d5 d5 d5  |UUUUUUUUUUUU….|
00000110  d5 d5 d5 d5 d5 d5 55 55  55 55 55 55 55 55 55 55  |……UUUUUUUUUU|
00000120  55 55 55 55 55 55 55 55  55 55 55 55 55 55 d5 d5  |UUUUUUUUUUUUUU..|
00000130  d5 d5 d5 d5 d5 d5 d5 d5  d5 55 55 55 55 55 55 55  |………UUUUUUU|
00000140  55 55 d5 55 55 55 55 55  55 55 55 55 55 55 55 55  |UU.UUUUUUUUUUUUU|
00000150  55 d5 d5 d5 d5 d5 d5 d5  d5 d5 d5 55 55 55 55 55  |U……….UUUUU|
00000160  55 55 55 55 55 55 55 55  55 55 55 55 55 55 55 55  |UUUUUUUUUUUUUUUU|
00000170  55 55 55 55 d5 d5 d5 d5  d5 d5 d5 d5 d5 55 d5 55  |UUUU………U.U|
00000180  55 55 55 55 55 55 55 55  55 55 55 55 55 55 55 55  |UUUUUUUUUUUUUUUU|
00000190  55 55 55 55 55 55 55 d5  d5 d5 d5 d5 d5 d5 d5 55  |UUUUUUU……..U|
000001a0  55 55 55 55 55 55 55 d5  d5 55 55 55 55 55 55 55  |UUUUUUU..UUUUUUU|
000001b0  55 55 55 55 55 55 55 d5  55 55 d5 55 55 55 55 55  |UUUUUUU.UU.UUUUU|
000001c0  55 55 d5 55 d5 d5 55 d5  55 55 55 55 55 55 55 55  |UU.U..U.UUUUUUUU|
000001d0  55 55 55 55 55 55 55 55  55 55 55 55 55 55 55 d5  |UUUUUUUUUUUUUUU.|
000001e0  55 d5 d5 d5 d5 55 55 55  55 55 55 55 55 55 55 55  |U….UUUUUUUUUUU|
000001f0  55 55 55 55 55 55 55 55  55 55 55 55 d5 55 55 d5  |UUUUUUUUUUUU.UU.|
00000200  55 55 55 55 55 55 55 55  55 d5 d5 d5 d5 d5 55 55  |UUUUUUUUU…..UU|
00000210  55 55 55 55 55 55 55 55  55 55 55 55 55 55 55 d5  |UUUUUUUUUUUUUUU.|
00000220  55 55 d5 55 d5 55 55 d5  55 d5 55 55 d5 55 d5 d5  |UU.U.UU.U.UU.U..|
00000230  d5 d5 d5 d5 d5 d5 d5 d5  d5 d5 d5 d5 d5 d5 d5 d5  |…………….|
*
00000ba0  d5 d5 d5 d5 d5 d5 d5 d5  d5 d5 d5 55 55 d5 55 d5  |………..UU.U.|
00000bb0  55 55 d5 55 d5 55 d5 d5  55 d5 55 55 55 55 55 55  |UU.U.U..U.UUUUUU|
00000bc0  55 55 55 55 55 55 55 55  55 d5 d5 55 55 55 55 55  |UUUUUUUUU..UUUUU|
00000bd0  55 55 55 55 55 55 55 d5  55 55 55 55 55 55 d5 55  |UUUUUUU.UUUUUU.U|
00000be0  55 55 55 55 55 55 55 55  55 55 55 d5 55 55 55 55  |UUUUUUUUUUU.UUUU|
00000bf0  55 55 55 55 55 55 55 55  d5 d5 55 55 55 55 55 d5  |UUUUUUUU..UUUUU.|
00000c00  d5 55 55 55 55 d5 d5 d5  55 55 55 55 55 d5 d5 55  |.UUUU…UUUUU..U|
:q

[root@web186 root]#

-C 规范的十六进制和ASCII码显示(Canonical hex+ASCII display ),显示结果分为三列(文件偏移量、字节的十六进制、ASCII字符)

-b 将每个字节显示为8进制

-c 将每个字节显示为ASCII字符

-C 每个字节显示为16进制和相应的ASCII字符

-d 每两个字节显示为10进制

-o 每两个字节显示为8进制

-x 每两个字节显示为16进制

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

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

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


相关推荐

  • java中json字符串和java对象的转换「建议收藏」

    java中json字符串和java对象的转换「建议收藏」文章目录1、Java与前台的交互2、解析JSON的第三方工具3、JSON数据和Java对象的相互转换Java对象转换JSON字符串JSON字符串转为Java对象1、Java与前台的交互作为后台,Java不仅需要接收前台传递过来的数据,还需要将数据库中的数据查出来打包好发…

    2022年9月13日
    2
  • Jmm内存模型_java jvm内存模型

    Jmm内存模型_java jvm内存模型JMM(Java内存模型)源于物理机器CPU架构的内存模型,最初用于解决MP(多处理器架构)系统中的缓存一致性问题,而JVM为了屏蔽各个硬件平台和操作系统对内存访问机制的差异化,提出了JMM的概念。Java内存模型是一种虚拟机规范,JMM规范了Java虚拟机与计算机内存是如何协同工作的:规定了一个线程如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。通过这种方式来保证多线程下变量的缓存一致性问题,下图是一个CPU多级缓存图:Java内存模型(JavaMemoryM

    2025年9月4日
    7
  • java invoke 方法说明_java中的反射,invoke方法

    java invoke 方法说明_java中的反射,invoke方法invoke,就是通过函数名反射调用相应的函数。以下代码简单地介绍了java反射中invoke方法packageorg.curry.tool;importjava.lang.reflect.Method;publicclassInvokeMethods{publicstaticvoidmain(String[]args){Employeeemp=newEmployee(…

    2022年5月1日
    45
  • 目前什么挖矿软件比较好用?[通俗易懂]

    目前什么挖矿软件比较好用?[通俗易懂]比特币最近又开始了牛气哄哄的上涨势头,对于想要挖矿赚钱的人来说是一个大好时机目前挖矿对于普通人来说还是存在一定门槛的,别的不说,关于钱包地址的设置,挖矿软件的调试等等,网上搜索出来的挖矿软件教程分分钟都能让你放弃,因此,找到一个好的挖矿软件工具,能让你事半功倍,心旷神怡。那么问题来了,简单好用的挖矿软件有哪些呢?我尝试过10多个挖矿软件,长沙矿工这些老挖矿软件就不说了适合矿场老板,不过…

    2022年10月15日
    4
  • mysql好还是oracle好_oracle优缺点

    mysql好还是oracle好_oracle优缺点Oracle与MySQL的区别以及优缺点MySQL的特点1、性能卓越,服务稳定,很少出现异常宕机;2、开放源代码无版本制约,自主性及使用成本低;3、历史悠久,社区和用户非常活跃,遇到问题及时寻求帮助;4、软件体积小,安装使用简单且易于维护,维护成本低;品牌口碑效应;5、支持多种OS,提供多种API接口,支持多种开发语言,对流行的PHP,Java很好的支持MySQL的缺点1、MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限才会发生改变;2

    2022年9月14日
    4
  • 特征选择/筛选方法总结

    作者:jlianghttps://blog.csdn.net/jliang31.特征选择介绍1)特征分类相关特征:对于学习任务(例如分类问题)有帮助,可以提升学习算法的效果; 无关特征:对于我们的算法没有任何帮助,不会给算法的效果带来任何提升; 冗余特征:不会对我们的算法带来新的信息,或者这种特征的信息可以由其他的特征推断出;2)特征选择的目的对于一个特定的学习算法…

    2022年4月7日
    42

发表回复

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

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