zoukankan      html  css  js  c++  java
  • (转)linux下od命令的使用

    linux下od命令的使用

    原文:http://blog.csdn.net/shylock_backer/article/details/46473283

    名称:od
    作用:格式化输出文件中的数据
    提要:
             od [OPTION]... [FILE]...
             od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]
         od --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]]
    说明:
    常见的文件为文本文件和二进制文件。此命令主要用来查看保存在二进制文件中的值。比如,程序可能输出大量的数据记录,每个数据是一个单精度浮点数。这些数据记录存放在一个文件中,如果想查看下这个数据,这时候od命令就派上用场了。在我看来,od命令主要用来格式化输出文件数据,即对文件中的数据进行无二义性的解释。不管是IEEE754格式的浮点数还是ASCII码,od命令都能按照需求输出他们的值。
    如果没有指定文件名,或者文件名为“-”,则从标准输入读入数据
     
    -A:指定地址基数,od命令的输出最左侧的1列为偏移量。默认的偏移量使用8进制,可以使用-A进行修改。
    格式为:-A 参数.可以使用的参数有:d:十进制;o:八进制;x:十六进制;n不显示偏移量这一列。
     
    -j:文件打开时,跳过的字节数量。
    格式为:-j BYTES.BYTES是一个数值,用0开头表示8进制,用0x开头表示16进制,用b作为后缀表示1个字节,用k作为后缀表示1024个字节,用m作为后缀表示1048576个字节。
     
    -N:用于限制输出的字节的数量
    格式为:-N BYTES.BYTES的格式同上。
     
    -S:用于指定输出的串占多少个图形字符的位置
    格式为:-S BYTES.
     
    -t:选择输出格式。
    格式为:-t [acdfoux][size].
    a:每个ASCII码对应的名字。
    b:用八进制字节表示的字符对应的ASCII码值
    d:有符号数值,SIZE个字节
    f:浮点数,SIZE个字节
    o:八进制数,SIZE个字节
    u:无符号数值,SIZE个字节
    x:十六进制数,size个字节
    注意:这里的SIZE是一个数值或者是一个字母。字母的范围为:[CSILFD]。对于非f类型的,一般选择CSIL.其中C表示sizeof(char),S表示sizeof(short),I表示sizeof(int),L表示sizeof(long).如果类型为f,sizeof可以是F或者是D,分别表示sizeof(float)或者sizeof(double).
    可以使用传统的格式:分别为:
    -a:等价于 -t a.表示ASCII码的名字
    -b:等价于-t o1,选择单字节,并且按照3个数值位的八进制数进行解释
    -c:等价于-t c,选择ASCII码字符或者是转义字符
    -d:等价于-t u2:选择无符号2字节单位
    -f:等价于-t fF,选择单精度浮点数
    -i:等价于-t dI,选择十进制整型
    -l:等价于-t dL,选择十进制长整型
    -o:等价于-t o2,选择两个字节的单元并按照八进制进行解释
    -s:等价于-t d2,选择两字节单元并按照十进制解释
    -x:等价于-t x2,选择两个字节单元,并作十六进制解释
     
    -v:不用*代替重复的输出
     
    -w:用于设置每行的宽度,即每行上输出的字节数
    格式为:-w BYTES
     
    举例说明如下:
    说明:先准备一个tmp文件
    [lichao@sg01 ~]$ echo abcdef g > tmp
    [lichao@sg01 ~]$ cat tmp
    abcdef g


    说明:使用单字节八进制解释进行输出,注意左侧的默认地址格式为八字节 
    [lichao@sg01 ~]$ od -b tmp
    0000000 141 142 143 144 145 146 040 147 012
    0000011


    说明:使用ASCII码进行输出,注意其中包括转义字符 
    [lichao@sg01 ~]$ od -c tmp
    0000000   a   b   c   d   e   f       g  
    0000011


    说明:使用单字节十进制进行解释 
    [lichao@sg01 ~]$ od -t d1 tmp
    0000000   97   98   99  100  101  102   32  103   10
    0000011


    说明:设置地址格式为十进制 
    [lichao@sg01 ~]$ od -A d -c tmp
    0000000   a   b   c   d   e   f       g  
    0000009


    说明:设置地址格式为十六进制
    [lichao@sg01 ~]$ od -A x -c tmp
    000000   a   b   c   d   e   f       g  
    000009


    说明:跳过开始的两个字节 
    [lichao@sg01 ~]$ od -j 2 -c tmp
    0000002   c   d   e   f       g  
    0000011


    说明:跳过开始的两个字节,并且仅输出两个字节
    [lichao@sg01 ~]$ od -N 2 -j 2 -c tmp
    0000002   c   d
    0000004


    说明:每行仅输出1个字节
    [lichao@sg01 ~]$ od -w1 -c tmp
    0000000   a
    0000001   b
    0000002   c
    0000003   d
    0000004   e
    0000005   f
    0000006   
    0000007   g
    0000010  
    0000011


    说明:每行输出两个字节
    [lichao@sg01 ~]$ od -w2 -c tmp
    0000000   a   b
    0000002   c   d
    0000004   e   f
    0000006       g
    0000010  
    0000011


    说明:每行输出3个字节,并使用八进制单字节进行解释
    [lichao@sg01 ~]$ od -w3 -b tmp
    0000000 141 142 143
    0000003 144 145 146
    0000006 040 147 012
    0000011

  • 相关阅读:
    2级搭建类203-Oracle 19c SI ASM 静默搭建(OEL7.7)
    2级搭建类EM-Oracle EMCC 13c Release 3 在 OEL 7.7 上的搭建
    1级搭建类112-Oracle 19c SI FS(CentOS 8)
    0级搭建类013-CentOS 8.x 安装
    List添加map,后添加的map覆盖前面的问题
    mysql插入数据报错1366
    oracle ora-12514解决办法
    easyUI 创建详情页dialog
    Server Tomcat v7.0 Server at localhost failed to start.
    maven项目启动报错;class path resource [com/ssm/mapping/] cannot be resolved to URL because it does not exist
  • 原文地址:https://www.cnblogs.com/liujiacai/p/8207131.html
Copyright © 2011-2022 走看看