od [OPTION]... [FILE]...
od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]
od --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]]
功能
把文件用8进制或者其他的格式显示出来。通常用于查看特殊格式文件的内容。
举例
用 od
查看 file1
内容
$od file1
输入之后,输出如下:
0000000 005141
0000002
这里, file1
使用 echo a >file1
生成的,己 file1
中只有一个字符 a
。
用 od
查看 file1
和 file2
的内容
$od file1 file2
输入之后,输出如下:
0000000 005141 005142
0000004
这里, file1
的内容是 a
, file2
的内容是 b
,将两个文件作为输入的时候,就把两个文件合并起来了。
用 od
查看 test
内容,地址基数用十进制显示
$od -Ad test
输入之后,输出如下:
0000000 062550 062562 066440 065541 020145 020141 062564 072163
0000016 000012
0000017
这里,地址基数就是输入中的第一列。
用字符来显示文件 test
$od -t c test
或
$od -tc test
输入之后,输出如下:
0000000 h e r e m a k e a t e s t
0000020 \n
0000021
这里,文件的内容实际就是 here make a test
这一行内容,如果是中文的字符就会显示相应的编码了。
每行只用2个字节显示
$od -w2 test
输入之后,输出如下:
0000000 062550
0000002 062562
0000004 066440
0000006 065541
0000010 020145
0000012 020141
0000014 062564
0000016 072163
0000020 000012
0000021
这里,最少就是两个字节宽度了,如果指定一个字节,那么也自动变成两个字节的了。
每行只用4个字节显示
$od -w4 test
输入之后,输出如下:
0000000 062550 062562
0000004 066440 065541
0000010 020145 020141
0000014 062564 072163
0000020 000012
0000021
字符方式输出 test
内容,跳过两个字节
$ od -tc -j 2 test
输入之后,输出如下:
0000002 r e m a k e a t e s t \n
0000021
只显示两个字节,用字符方式显示
$ od -tc -N2 test
输入之后,输出如下:
0000000 h e
0000002
这里,为了便于读取,使用了字符的方式进行打印。如果同时指定了 -j
跳过的选项,那么就会从 -j
指定的相应位置打印2个字节。
描述
这个命令默认把文件的内容用八进制的形式清晰地写在标准输出上。如果是多个文件,那么会把文件合并显示,如果没指定文件名称,那么就择标准输入作为默认的输入。通过指定该命令的不同项可以以十进制、八进制、十六进制和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
手册。
更详细的信息参见 man
手册。
说明: od
命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal Dump)。但这不是最有用的显示方式,用ASCII码和十六进制组合的方式能提供更有价值的信息输出。
其他
待添加。
网友评论