• od
    • 补充说明
      • 语法
      • 选项
      • 参数
      • 实例

    od

    输出文件的八进制、十六进制等格式编码的字节

    补充说明

    od命令 用于输出文件的八进制、十六进制或其它格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符。

    常见的文件为文本文件和二进制文件。此命令主要用来查看保存在二进制文件中的值。比如,程序可能输出大量的数据记录,每个数据是一个单精度浮点数。这些数据记录存放在一个文件中,如果想查看下这个数据,这时候od命令就派上用场了。在我看来,od命令主要用来格式化输出文件数据,即对文件中的数据进行无二义性的解释。不管是IEEE754格式的浮点数还是ASCII码,od命令都能按照需求输出它们的值。

    语法

    1. od(选项)(参数)

    选项

    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
    3. abcdef g

    说明:先准备一个tmp文件

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

    说明:使用单字节八进制解释进行输出,注意左侧的默认地址格式为八字节

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

    说明:使用ASCII码进行输出,注意其中包括转义字符

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

    说明:使用单字节十进制进行解释

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

    说明:设置地址格式为十进制。

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

    说明:设置地址格式为十六进制

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

    说明:跳过开始的两个字节

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

    说明:跳过开始的两个字节,并且仅输出两个字节

    1. [linuxde@localhost ~]$ od -w1 -c tmp
    2. 0000000 a
    3. 0000001 b
    4. 0000002 c
    5. 0000003 d
    6. 0000004 e
    7. 0000005 f
    8. 0000006
    9. 0000007 g
    10. 0000010 \n
    11. 0000011

    说明:每行仅输出1个字节

    1. [linuxde@localhost ~]$ od -w2 -c tmp
    2. 0000000 a b
    3. 0000002 c d
    4. 0000004 e f
    5. 0000006 g
    6. 0000010 \n
    7. 0000011

    说明:每行输出两个字节

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

    说明:每行输出3个字节,并使用八进制单字节进行解释