linux之od命令

od [OPTION]... [FILE]... 

把文件用8进制或者其他的格式显示出来。通常用于查看特殊格式文件的内容。 

 

这个命令默认把文件的内容用八进制的形式清晰地写在标准输出上。如果是多个文件,那么会把文件合并显示,如果没指定文件名称,那么就择标准输入作为默认的输入。通过指定该命令的不同项可以以十进制、八进制、十六进制和ASCII码来显示文件。 

常用的项: 

- A 指定地址(文件offset)用什么基数打印,包括: 

d 十进制 

o 八进制(系统默认值) 

x 十六进制 

n 不打印位移值(也就是不打印地址偏移部分) 

-j Bytes 首先跳过Bytes的输入。 

-S [Bytes] 输出至少Bytes的图形字符串,这里的缩减形式等价于--strings[=Bytes]。 

-w [Bytes] 指定每行的输出字节数目。 

-N Bytes 指定显示的输入限定为Bytes字节。 

 

- t 指定数据的显示格式,主要的参数有: 

c ASCII字符或反斜杠序列 

d[SIZE] 有符号十进制数,每个整数SIZE字节。 

f[SIZE] 浮点数,每个整数SIZE字节。 

o[SIZE] 八进制(系统默认值为02),每个整数SIZE字节。 

u[SIZE] 无符号十进制数,每个整数SIZE字节。 

x[SIZE] 十六进制数,每个整数SIZE字节。 

除了项c以外的其他选项后面都可以跟一个十进制数n,指定每个显示值所包含的字节数。实际有一些简写形式,例如-t c等价于-c,具体参见man手册。 

 

01 cat text

 

02 hello world

 

03 od command

 

04 $ od -A o text #地址显示为八进制,第一列为地址

 

05 0000000 062550 066154 020157 067567 066162 005144 062157 061440
06 0000020 066557 060555 062156 000012
07 0000027

 

08 $ od -A d text #地址显示为十进制
09 0000000 062550 066154 020157 067567 066162 005144 062157 061440
10 0000016 066557 060555 062156 000012
11 0000023

 

12 $ od -A x text #地址显示为十六进制
13 000000 062550 066154 020157 067567 066162 005144 062157 061440
14 000010 066557 060555 062156 000012
15 000017

 

16 $ od -t c text
17 0000000   h   e   l   l   o       w   o   r   l   d  \n   o   d       c
18 0000020   o   m   m   a   n   d  \n
19 0000027

扩展阅读:

第一列显示的是地址!


在一些有空洞的文件可以通过od命令查看空洞的位置。

 

posted @ 2016-11-25 14:58  小 楼 一 夜 听 春 雨  阅读(3219)  评论(0编辑  收藏  举报