od

輸出文件的八進制、十六進制等格式編碼的字節

補充說明

od命令 用於輸出文件的八進制、十六進制或其它格式編碼的字節,通常用於顯示或查看文件中不能直接顯示在終端的字符。

常見的文件爲文本文件和二進制文件。此命令主要用來查看保存在二進制文件中的值。比如,程序可能輸出大量的數據記錄,每個數據是一個單精度浮點數。這些數據記錄存放在一個文件中,如果想查看下這個數據,這時候od命令就派上用場了。在我看來,od命令主要用來格式化輸出文件數據,即對文件中的數據進行無二義性的解釋。不管是IEEE754格式的浮點數還是ASCII碼,od命令都能按照需求輸出它們的值。

語法

1od(選項)(參數)

選項

 1-a:此參數的效果和同時指定“-ta”參數相同;
 2-A:<字碼基數>:選擇以何種基數計算字碼;
 3-b:此參數的效果和同時指定“-toC”參數相同;
 4-c:此參數的效果和同時指定“-tC”參數相同;
 5-d:此參數的效果和同時指定“-tu2”參數相同;
 6-f:此參數的效果和同時指定“-tfF”參數相同;
 7-h:此參數的效果和同時指定“-tx2”參數相同;
 8-i:此參數的效果和同時指定“-td2”參數相同;
 9-j<字符數目>或--skip-bytes=<字符數目>:略過設置的字符數目;
10-l:此參數的效果和同時指定“-td4”參數相同;
11-N<字符數目>或--read-bytes=<字符數目>:到設置的字符樹目爲止;
12-o:此參數的效果和同時指定“-to2”參數相同;
13-s<字符串字符數>或--strings=<字符串字符數>:只顯示符合指定的字符數目的字符串;
14-t<輸出格式>或--format=<輸出格式>:設置輸出格式;
15-v或--output-duplicates:輸出時不省略重複的數據;
16-w<每列字符數>或--width=<每列字符數>:設置每列的最大字符數;
17-x:此參數的效果和同時指定“-h”參數相同;
18--help:在線幫助;
19--version:顯示版本信息。

參數

文件:指定要顯示的文件。

實例

1[linuxde@localhost ~]$ echo abcdef g > tmp
2[linuxde@localhost ~]$ cat tmp
3abcdef g

說明:先準備一個tmp文件

1[linuxde@localhost ~]$ od -b tmp
20000000 141 142 143 144 145 146 040 147 012
30000011

說明:使用單字節八進制解釋進行輸出,注意左側的默認地址格式爲八字節

1[linuxde@localhost ~]$ od -c tmp
20000000   a   b   c   d   e   f       g  \n
30000011

說明:使用ASCII碼進行輸出,注意其中包括轉義字符

1[linuxde@localhost ~]$ od -t d1 tmp
20000000   97   98   99  100  101  102   32  103   10
30000011

說明:使用單字節十進制進行解釋

1[linuxde@localhost ~]$ od -A d -c tmp
20000000   a   b   c   d   e   f       g  \n
30000009

說明:設置地址格式爲十進制。

1[linuxde@localhost ~]$ od -A x -c tmp
2000000   a   b   c   d   e   f       g  \n
3000009

說明:設置地址格式爲十六進制

1[linuxde@localhost ~]$ od -j 2 -c tmp
20000002   c   d   e   f       g  \n
30000011

說明:跳過開始的兩個字節

1[linuxde@localhost ~]$ od -N 2 -j 2 -c tmp
20000002   c   d
30000004

說明:跳過開始的兩個字節,並且僅輸出兩個字節

 1[linuxde@localhost ~]$ od -w1 -c tmp
 20000000   a
 30000001   b
 40000002   c
 50000003   d
 60000004   e
 70000005   f
 80000006   
 90000007   g
100000010  \n
110000011

說明:每行僅輸出1個字節

1[linuxde@localhost ~]$ od -w2 -c tmp
20000000   a   b
30000002   c   d
40000004   e   f
50000006       g
60000010  \n
70000011

說明:每行輸出兩個字節

1[linuxde@localhost ~]$ od -w3 -b tmp
20000000 141 142 143
30000003 144 145 146
40000006 040 147 012
50000011

說明:每行輸出3個字節,並使用八進制單字節進行解釋

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: