什么“od”代表linux,为什么它有用?

时间:2015-10-23 14:10:13

标签: linux text terminal

我很好奇linux中的“od”是什么以及它意味着什么。我在包含短语:

的文本文件test.txt上运行它
I am pretty

然后返回这些数字:

0000000 020111 066541 070040 062562 072164 000171 0000013

这有用吗?我可以用它做什么?

1 个答案:

答案 0 :(得分:2)

它有所增长(例如,请参阅FreeBSDGNU),但最初(请参阅Unix的1st6th版本),"od" o ctal的缩写 d ump。

你会发现原版(第1版)没用。但是从第6个开始, od 通常对

有用
od -bc filename

例如

0000000   056 124 110 040 117 104 040 061 040 012 056 123 110 040 116 101
           .   T   H       O   D       1      \n   .   S   H       N   A
0000020   115 105 012 157 144 040 134 055 040 157 143 164 141 154 040 144
           M   E  \n   o   d       \   -       o   c   t   a   l       d
0000040   165 155 160 012 056 123 110 040 123 131 116 117 120 123 111 123
           u   m   p  \n   .   S   H       S   Y   N   O   P   S   I   S
0000060   012 056 102 040 157 144 012 133 012 056 102 040 134 055 141 142
          \n   .   B       o   d  \n   [  \n   .   B       \   -   a   b
0000100   143 144 157 170 012 135 040 133 040 146 151 154 145 040 135 040
           c   d   o   x  \n   ]       [       f   i   l   e       ]
0000120   133 040 133 012 056 102 040 053 012 135 157 146 146 163 145 164
           [       [  \n   .   B       +  \n   ]   o   f   f   s   e   t
0000140   133 012 056 102 122 040 042 056 040 042 040 042 135 133 042 012

这是相当可读的,但不像实际文件(引自3BSD):

.TH OD 1
.SH NAME
od \- octal dump
.SH SYNOPSIS
.B od
[
.B \-abcdox
] [ file ] [ [
.B +
]offset[
.BR ". " "]["

原始转储仅在 octal 中,主要是由于PDP-11的影响:8个寄存器,以3位编码,这意味着很多指令最好以八进制读取。当然,为了兼容性,后续版本中的默认值为八进制。