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命令查看空洞的位置。
