linux下如何查看二进制文件,Linux二进制文件的查看方法
我使用过的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二进制文件的查看方法相关推荐
- Linux下 SpringBoot jar项目后台运行、查看、停用
运行java jar: nohup java -jar **-0.0.1-SNAPSHOT.jar & 查看进程: 采用top或者ps aux命令.一般 如果后台是springboot,jar ...
- Linux下的tree命令 --Linux下目录树查看
Linux下的tree命令 --Linux下目录树查看 有时我们需要生成目录树结构,可以使用的有ls -R,但是实际效果并不好 这时需要用到tree命令,但是大部分Linux系统是默认不安装该命令的, ...
- Linux完全清除防火墙策略,linux下的软件防火墙iptables——规则的查看与清除、定义默认策略,...
linux下的软件防火墙iptables--规则的查看与清除.定义默认策略软件防火墙IPTABLES --规则在Linux下查看和清除,定义默认策略,防火墙意味着用户限制某些ip或用户对其主机的访问. ...
- linux看不到进程管理,关于Linux下进程的详解【进程查看与管理】
关于Linux下进程的详解[进程查看与管理] 一.关于进程 进程: 已经启动的可执行程序的运行实力 进程的组成:一个进程包含内核中的一部分地址空间和一系列数据结构.其中地址空间是内核标记的一部分内存以 ...
- linux中rm删除的文件是否可以恢复,Linux下用rm删除的文件的恢复方法
Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2008-08/14744.htm lin ...
- LINUX检测服务并自动运行,一种Linux下的开机自动检测硬件信息的方法与流程
技术领域本发明涉及服务器开机检测技术,具体的说是一种Linux下的开机自动检测硬件信息的方法. 背景技术: 服务器产品研发初期,产品多为工程样本,问题很多,这些问题中硬件问题占较大部分.在工程验证测试 ...
- linux挂载ntfs分区报错,Linux下挂载NTFS分区和挂载分区的方法
Linux下挂载NTFS分区和挂载分区的方法 如果你的磁盘格式为NTFS就按照以下步骤如果不是就直接跳下一步 首先去下载个 NTFS-3G 下载地址:http://www.tuxera.com/com ...
- linux 下vim文件乱码 cat文件正常处理方法
linux 下vim文件乱码 cat文件正常处理方法 服务器支持中文字符集,cat和其他查看文件命令现在正常,vim还是出现了中文乱码问题, 1.查看文件编码格式 vim 文件 :set fileen ...
- Linux下安装mysql后无法启动的解决方法
在Linux下安装完mysql后,mysql服务无法启动,总是failer. 这个不是因为mysql安装失败,而是因为启动了SELinux. 进入/etc/selinux/co ...
- linux下ioctl操作网络接口,linux下无线网卡的ioctl 接口
var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/ba ...
最新文章
- MIT录取不再看SAT科目成绩:曾是华裔传统优势,数学等学科测验更是中国留学生强项...
- Py之GUI:Python下各种GUI(图形用户界面)简介、使用优缺点对比
- HDU 2795 Billboard (线段树+贪心)
- CM: word template merge 工具
- JimuReport积木报表 — API数据源报表制作
- 最初级且依赖于硬件的计算机语言是,计算机基础复习大纲(整理版).doc
- k8s集群部署项目_JAVA项目(推送镜像到云镜像服务器_这里使用阿里云)---K8S_Google工作笔记0061
- C/C++-获取成员变量的指针
- unity, 删除animationEvent
- BeautifulSoap库入门
- 像中文的罗马音字体复制_罗马音字体大全可复制
- 迅雷可以下载的文件是forum.php,让论坛进化!“迅雷附件”功能简介
- 【附源码】Python计算机毕业设计企业合同管理系统
- 国家级发明专利专利 - 崔博文
- 微信小程序在开发工具上可以编译显示,但是手机预览请求不到数据
- CF1132B Discounts题解
- 2021年中国空气净化器市场现状分析,线上趋势明显,市场渗透率仍有较大发展空间「图」
- shell之read用法
- web自动化验证码处理
- 华为前副总裁李一男正式出任百度CTO