我很好奇linux中的“od”是什么以及它意味着什么。我在包含短语:
的文本文件test.txt上运行它I am pretty
然后返回这些数字:
0000000 020111 066541 070040 062562 072164 000171 0000013
这有用吗?我可以用它做什么?
答案 0 :(得分:2)
它有所增长(例如,请参阅FreeBSD和GNU),但最初(请参阅Unix的1st和6th版本),"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位编码,这意味着很多指令最好以八进制读取。当然,为了兼容性,后续版本中的默认值为八进制。