輸出文件的八進(jìn)制、十六進(jìn)制等格式編碼的字節(jié)
od命令 用于輸出文件的八進(jìn)制、十六進(jìn)制或其它格式編碼的字節(jié),通常用于顯示或查看文件中不能直接顯示在終端的字符。
常見的文件為文本文件和二進(jìn)制文件。此命令主要用來查看保存在二進(jìn)制文件中的值。比如,程序可能輸出大量的數(shù)據(jù)記錄,每個(gè)數(shù)據(jù)是一個(gè)單精度浮點(diǎn)數(shù)。這些數(shù)據(jù)記錄存放在一個(gè)文件中,如果想查看下這個(gè)數(shù)據(jù),這時(shí)候od命令就派上用場了。在我看來,od命令主要用來格式化輸出文件數(shù)據(jù),即對(duì)文件中的數(shù)據(jù)進(jìn)行無二義性的解釋。不管是IEEE754格式的浮點(diǎn)數(shù)還是ASCII碼,od命令都能按照需求輸出它們的值。
od(選項(xiàng))(參數(shù))
-a:此參數(shù)的效果和同時(shí)指定“-ta”參數(shù)相同;
-A:<字碼基數(shù)>:選擇以何種基數(shù)計(jì)算字碼;
-b:此參數(shù)的效果和同時(shí)指定“-toC”參數(shù)相同;
-c:此參數(shù)的效果和同時(shí)指定“-tC”參數(shù)相同;
-d:此參數(shù)的效果和同時(shí)指定“-tu2”參數(shù)相同;
-f:此參數(shù)的效果和同時(shí)指定“-tfF”參數(shù)相同;
-h:此參數(shù)的效果和同時(shí)指定“-tx2”參數(shù)相同;
-i:此參數(shù)的效果和同時(shí)指定“-td2”參數(shù)相同;
-j<字符數(shù)目>或--skip-bytes=<字符數(shù)目>:略過設(shè)置的字符數(shù)目;
-l:此參數(shù)的效果和同時(shí)指定“-td4”參數(shù)相同;
-N<字符數(shù)目>或--read-bytes=<字符數(shù)目>:到設(shè)置的字符樹目為止;
-o:此參數(shù)的效果和同時(shí)指定“-to2”參數(shù)相同;
-s<字符串字符數(shù)>或--strings=<字符串字符數(shù)>:只顯示符合指定的字符數(shù)目的字符串;
-t<輸出格式>或--format=<輸出格式>:設(shè)置輸出格式;
-v或--output-duplicates:輸出時(shí)不省略重復(fù)的數(shù)據(jù);
-w<每列字符數(shù)>或--width=<每列字符數(shù)>:設(shè)置每列的最大字符數(shù);
-x:此參數(shù)的效果和同時(shí)指定“-h”參數(shù)相同;
--help:在線幫助;
--version:顯示版本信息。
文件:指定要顯示的文件。
[linuxde@localhost ~]$ echo abcdef g > tmp
[linuxde@localhost ~]$ cat tmp
abcdef g
說明:先準(zhǔn)備一個(gè)tmp文件
[linuxde@localhost ~]$ od -b tmp
0000000 141 142 143 144 145 146 040 147 012
0000011
說明:使用單字節(jié)八進(jìn)制解釋進(jìn)行輸出,注意左側(cè)的默認(rèn)地址格式為八字節(jié)
[linuxde@localhost ~]$ od -c tmp
0000000 a b c d e f g \n
0000011
說明:使用ASCII碼進(jìn)行輸出,注意其中包括轉(zhuǎn)義字符
[linuxde@localhost ~]$ od -t d1 tmp
0000000 97 98 99 100 101 102 32 103 10
0000011
說明:使用單字節(jié)十進(jìn)制進(jìn)行解釋
[linuxde@localhost ~]$ od -A d -c tmp
0000000 a b c d e f g \n
0000009
說明:設(shè)置地址格式為十進(jìn)制。
[linuxde@localhost ~]$ od -A x -c tmp
000000 a b c d e f g \n
000009
說明:設(shè)置地址格式為十六進(jìn)制
[linuxde@localhost ~]$ od -j 2 -c tmp
0000002 c d e f g \n
0000011
說明:跳過開始的兩個(gè)字節(jié)
[linuxde@localhost ~]$ od -N 2 -j 2 -c tmp
0000002 c d
0000004
說明:跳過開始的兩個(gè)字節(jié),并且僅輸出兩個(gè)字節(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個(gè)字節(jié)
[linuxde@localhost ~]$ od -w2 -c tmp
0000000 a b
0000002 c d
0000004 e f
0000006 g
0000010 \n
0000011
說明:每行輸出兩個(gè)字節(jié)
[linuxde@localhost ~]$ od -w3 -b tmp
0000000 141 142 143
0000003 144 145 146
0000006 040 147 012
0000011
說明:每行輸出3個(gè)字節(jié),并使用八進(jìn)制單字節(jié)進(jìn)行解釋