Linux命令 od - 輸出文件的八進制、十六進制等格式編碼的字節(jié)

2022-03-16 14:49 更新

od

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

補充說明

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

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

語法

od(選項)(參數(shù))

選項

-a:此參數(shù)的效果和同時指定“-ta”參數(shù)相同;
-A:<字碼基數(shù)>:選擇以何種基數(shù)計算字碼;
-b:此參數(shù)的效果和同時指定“-toC”參數(shù)相同;
-c:此參數(shù)的效果和同時指定“-tC”參數(shù)相同;
-d:此參數(shù)的效果和同時指定“-tu2”參數(shù)相同;
-f:此參數(shù)的效果和同時指定“-tfF”參數(shù)相同;
-h:此參數(shù)的效果和同時指定“-tx2”參數(shù)相同;
-i:此參數(shù)的效果和同時指定“-td2”參數(shù)相同;
-j<字符數(shù)目>或--skip-bytes=<字符數(shù)目>:略過設置的字符數(shù)目;
-l:此參數(shù)的效果和同時指定“-td4”參數(shù)相同;
-N<字符數(shù)目>或--read-bytes=<字符數(shù)目>:到設置的字符樹目為止;
-o:此參數(shù)的效果和同時指定“-to2”參數(shù)相同;
-s<字符串字符數(shù)>或--strings=<字符串字符數(shù)>:只顯示符合指定的字符數(shù)目的字符串;
-t<輸出格式>或--format=<輸出格式>:設置輸出格式;
-v或--output-duplicates:輸出時不省略重復的數(shù)據(jù);
-w<每列字符數(shù)>或--width=<每列字符數(shù)>:設置每列的最大字符數(shù);
-x:此參數(shù)的效果和同時指定“-h”參數(shù)相同;
--help:在線幫助;
--version:顯示版本信息。

參數(shù)

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

實例

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

說明:先準備一個tmp文件

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

說明:使用單字節(jié)八進制解釋進行輸出,注意左側(cè)的默認地址格式為八字節(jié)

[linuxde@localhost ~]$ od -c tmp
0000000   a   b   c   d   e   f       g  \n
0000011

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

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

說明:使用單字節(jié)十進制進行解釋

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

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

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

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

[linuxde@localhost ~]$ od -j 2 -c tmp
0000002   c   d   e   f       g  \n
0000011

說明:跳過開始的兩個字節(jié)

[linuxde@localhost ~]$ od -N 2 -j 2 -c tmp
0000002   c   d
0000004

說明:跳過開始的兩個字節(jié),并且僅輸出兩個字節(jié)

[linuxde@localhost ~]$ od -w1 -c tmp
0000000   a
0000001   b
0000002   c
0000003   d
0000004   e
0000005   f
0000006   
0000007   g
0000010  \n
0000011

說明:每行僅輸出1個字節(jié)

[linuxde@localhost ~]$ od -w2 -c tmp
0000000   a   b
0000002   c   d
0000004   e   f
0000006       g
0000010  \n
0000011

說明:每行輸出兩個字節(jié)

[linuxde@localhost ~]$ od -w3 -b tmp
0000000 141 142 143
0000003 144 145 146
0000006 040 147 012
0000011

說明:每行輸出3個字節(jié),并使用八進制單字節(jié)進行解釋


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號