我使用过的Linux命令之hexdump - ”十六“进制查看器

用途说明

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]#

linux下如何查看二进制文件,Linux二进制文件的查看方法相关推荐

  1. Linux下 SpringBoot jar项目后台运行、查看、停用

    运行java jar: nohup java -jar **-0.0.1-SNAPSHOT.jar & 查看进程: 采用top或者ps aux命令.一般 如果后台是springboot,jar ...

  2. Linux下的tree命令 --Linux下目录树查看

    Linux下的tree命令 --Linux下目录树查看 有时我们需要生成目录树结构,可以使用的有ls -R,但是实际效果并不好 这时需要用到tree命令,但是大部分Linux系统是默认不安装该命令的, ...

  3. Linux完全清除防火墙策略,linux下的软件防火墙iptables——规则的查看与清除、定义默认策略,...

    linux下的软件防火墙iptables--规则的查看与清除.定义默认策略软件防火墙IPTABLES --规则在Linux下查看和清除,定义默认策略,防火墙意味着用户限制某些ip或用户对其主机的访问. ...

  4. linux看不到进程管理,关于Linux下进程的详解【进程查看与管理】

    关于Linux下进程的详解[进程查看与管理] 一.关于进程 进程: 已经启动的可执行程序的运行实力 进程的组成:一个进程包含内核中的一部分地址空间和一系列数据结构.其中地址空间是内核标记的一部分内存以 ...

  5. linux中rm删除的文件是否可以恢复,Linux下用rm删除的文件的恢复方法

    Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2008-08/14744.htm lin ...

  6. LINUX检测服务并自动运行,一种Linux下的开机自动检测硬件信息的方法与流程

    技术领域本发明涉及服务器开机检测技术,具体的说是一种Linux下的开机自动检测硬件信息的方法. 背景技术: 服务器产品研发初期,产品多为工程样本,问题很多,这些问题中硬件问题占较大部分.在工程验证测试 ...

  7. linux挂载ntfs分区报错,Linux下挂载NTFS分区和挂载分区的方法

    Linux下挂载NTFS分区和挂载分区的方法 如果你的磁盘格式为NTFS就按照以下步骤如果不是就直接跳下一步 首先去下载个 NTFS-3G 下载地址:http://www.tuxera.com/com ...

  8. linux 下vim文件乱码 cat文件正常处理方法

    linux 下vim文件乱码 cat文件正常处理方法 服务器支持中文字符集,cat和其他查看文件命令现在正常,vim还是出现了中文乱码问题, 1.查看文件编码格式 vim 文件 :set fileen ...

  9. Linux下安装mysql后无法启动的解决方法

    在Linux下安装完mysql后,mysql服务无法启动,总是failer.       这个不是因为mysql安装失败,而是因为启动了SELinux.       进入/etc/selinux/co ...

  10. linux下ioctl操作网络接口,linux下无线网卡的ioctl 接口

    var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/ba ...

最新文章

  1. MIT录取不再看SAT科目成绩:曾是华裔传统优势,数学等学科测验更是中国留学生强项...
  2. Py之GUI:Python下各种GUI(图形用户界面)简介、使用优缺点对比
  3. HDU 2795 Billboard (线段树+贪心)
  4. CM: word template merge 工具
  5. JimuReport积木报表 — API数据源报表制作
  6. 最初级且依赖于硬件的计算机语言是,计算机基础复习大纲(整理版).doc
  7. k8s集群部署项目_JAVA项目(推送镜像到云镜像服务器_这里使用阿里云)---K8S_Google工作笔记0061
  8. C/C++-获取成员变量的指针
  9. unity, 删除animationEvent
  10. BeautifulSoap库入门
  11. 像中文的罗马音字体复制_罗马音字体大全可复制
  12. 迅雷可以下载的文件是forum.php,让论坛进化!“迅雷附件”功能简介
  13. 【附源码】Python计算机毕业设计企业合同管理系统
  14. 国家级发明专利专利 - 崔博文
  15. 微信小程序在开发工具上可以编译显示,但是手机预览请求不到数据
  16. CF1132B Discounts题解
  17. 2021年中国空气净化器市场现状分析,线上趋势明显,市场渗透率仍有较大发展空间「图」
  18. shell之read用法
  19. web自动化验证码处理
  20. 华为前副总裁李一男正式出任百度CTO

热门文章

  1. 一张图看懂ITIL V3 与ITIL4的主要差异
  2. 2022年python库大全
  3. java keytool下载_Java中Keytool工具的使用总结(一)
  4. 微信小程序下载文件,保存文件功能总结
  5. rpcbind相关漏洞验证
  6. 开关电源设计从入门到精通(附教程)
  7. 【连载】第五章机械振动第一节——简谐振动
  8. 《Flash MX从入门到精通》内容简介
  9. ESET NOD32 升级 激活码 用户名和密码~MF111
  10. ASP.NET学习 asp‘s one word