手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

od(1)

名称

od - 八进制转储

用法概要

/usr/bin/od [-bcCDdFfOoSsvXx] [-] [file] [offset_string]
/usr/bin/od [-bcCDdFfOoSsvXx] [-A address_base] [-j skip] 
     [-N count] [-t type_string]... [-] [file]...
/usr/xpg4/bin/od [-bcCDdFfOoSsvXx] [file] [offset_string]
/usr/xpg4/bin/od [-bcCDdFfOoSsvXx] [-A address_base] 
     [-j skip] [-N count] [-t type_string]... [file]...

描述

od 命令会按顺序将每个输入文件复制到标准输出,并根据 –t–bcCDdFfOoSsvXx 选项指定的输出类型转换输入数据。如果未指定输出类型,则会按照指定了 – t o2 时的情况执行缺省输出。使用多个 –bcCDdFfOoSstvXx 选项可以指定多个类型。按类型的指定顺序,为指定的每个类型写入输出行。如果未指定 file,则使用标准输入。[offset_string] 操作数与 –A–j–N–t 选项互斥。为方便描述,使用了以下术语:

word(词)

指的是一个 16 位单位,与计算机的词大小无关。

long word(长词)

指的是一个 32 位单位。

double long word(双长词)

指的是一个 64 位单位。

选项

支持以下选项:

–A address_base

指定输入偏移基址。address_base 选项参数必须是一个字符。字符 dox 分别指定将以十进制、八进制或十六进制格式写入偏移基址。指定字符 n 时则不写入偏移。除非指定 –A n,否则将在输出行前面加上要写入的下一个字节在输入文件中累积的输入偏移。此外,处理完所有输入数据之后,将显示最后写入字节后面的字节的偏移。如果没有 –A address_base 选项和 [offset_string] 操作数,将以八进制格式显示输入偏移基址。

–b

以八进制解释字节。这等效于 –t o1

/usr/bin/od

–c

显示单字节字符。某些非图形字符显示为 C 语言转义:

null	        \0
backspace	   \b
form-feed	   \f
new-line	   \n
return	   \r
tab	        \t

其他字符显示为 3 位数的八进制数字。例如:



echo "hello world" | od −c
0000000   h   e   l   l   o       w   o   r   l   d  \n
0000014

/usr/xpg4/bin/od

–c

根据 LC_CTYPE 语言环境类别的当前设置,将字节解释为单字节或多字节字符。可输出的多字节字符在字符的第一个字节对应的区域写入。双字符序列 ** 在字符中每个其余字节对应的区域写入,表示字符未完待续。非图形字符按照使用 –C 选项时的情况显示。

–C

根据 LC_CTYPE 语言环境类别的当前设置,将字节解释为单字节或多字节字符。可输出的多字节字符在字符的第一个字节对应的区域写入。双字符序列 ** 在字符中每个其余字节对应的区域写入,表示字符未完待续。某些非图形字符显示为 C 语言转义:

null	        \0
backspace	   \b
form-feed	   \f
new-line	   \n
return	   \r
tab	        \t

对于其他不可输出的字符,字符中的每个字节都显示为一个 3 位八进制数字。

–d

以无符号十进制解释字。这等效于 –t u2

–D

以无符号十进制解释长字。这等效于 –t u4

–f

以浮点解释长字。这等效于 –t f4

–F

以扩展精度解释双长字。这等效于 –t f8

–j skip

跳过输入开头的 skip 字节。od 命令将向后读取或查找串联输入文件的前几个 skip 字节。如果组合输入不到 skip 字节长,od 命令将向标准错误写入一条诊断消息,并且以非零退出状态退出。

缺省情况下,skip 选项参数解释为一个十进制数字。如果带有前导 0x0X,偏移将解释为一个十六进制数字;否则,如果带有前导 0,偏移将解释为一个八进制数字。将字符 bkm 附加到偏移时,将使其分别解释为 51210241 048 576 个字节的倍数。如果 skip 数字为十六进制,任何附加的 b 都被视为最后的十六进制数字。地址从 0000000 开始显示,并且其基址未隐含在 skip 选项参数的基址中。

–N count

设置不超过 count 个字节的输入的格式。缺省情况下,count 解释为一个十进制数字。如果带有前导 0x0Xcount 则解释为一个十六进制数字;否则,如果带有前导 0,则解释为一个八进制数字。如果 count 个字节的输入(如果指定了 –jskip,则为成功跳过后的输入)不可用,它将被视为错误。od 命令将设置可用输入的格式。count 选项参数的基址不隐含显示的地址的基址。

–o

以八进制解释字。这等效于 –t o2

–O

以无符号八进制解释长字。这等效于 –t o4

–s

以有符号十进制解释字。这等效于 –t d2

–S

以有符号十进制解释长字。这等效于 –t d4

–t type_string

指定一个或多个输出类型。type_string 选项参数必须为一个字符串,用于指定写入输入数据时使用的类型。该字符串必须由类型指定字符组成:

a

Named character.将字节解释为指定的字符。每个字节中只有 7 个最低有效位用于此类型指定。带有下表列出的值的字节将使用与那些字符对应的名称写入。

以下是 od 中的指定字符:


Value   Name  
    
\000    nul
\001    soh
\002    stx
\003    etx
\004    eot
\005    enq
\006    ack
\007    bel
\010    bs
\011    ht
\012    lf
\013    vt
\014    ff
\015    cr
\016    so
\017    si
\020    dle
\021    dc1
\022    dc2
\023    dc3
\024    dc4
\025    nak
\026    syn
\027    etb
\030    can
\031    em
\032    sub
\033    esc
\034    fs
\035    gs
\036    rs
\037    us
\040    sp
\177    del

c

Character.将字节解释为由 LC_CTYPE 语言环境类别的当前设置指定的单字节或多字节字符。可输出的多字节字符在字符的第一个字节对应的区域写入。双字符序列 ** 在字符中每个其余字节对应的区域写入,表示字符未完待续。某些非图形字符显示为 C 语言转义:\0\a\b \f\n\r\t\v。对于其他不可输出的字符,字符中的每个字节都显示为一个 3 位八进制数字。

类型制定字符 dfoux 后面可以跟有一个可选的无符号十进制整数,用于指定每个输出类型实例转换的字节数。

f

Floating point.后面可以跟有可选的 FDL,表示转换应当分别应用于 floatdoublelong double 类型项目。

doux

分别为 Signed decimaloctalunsigned decimalhexadecimal。后面可以跟有可选的 CSIL,表示转换应当分别应用于 charshortintlong 类型项目。

可以在同一 type_string 中串联多个类型,并且可以指定多个 –t 选项。按类型指定字符的指定顺序,为指定的每个类型写入输出行。

–v

显示全部输入数据(详细)。如果没有 –v 选项,与紧接在前面的输出行相同的全部输出行组将替换为仅包含星号 (*) 的行。

–x

以十六进制解释字。这等效于 –t x2

–X

以十六进制解释长字。这等效于 –t x4

操作数

/usr/bin/od

以下操作数只有 /usr/bin/od 支持:

除了指定的文件外还使用标准输入。未给定此操作数时,标准输入仅在未指定 file 操作数时使用。

file

需要读取的文件的路径名。如果未指定 file 操作数,将使用标准输入。如果操作数不超过两个,–A–j–N–t 选项未指定,并且满足以下任一条件:

  1. 最后一个操作数的第一个字符为加号 (+)

  2. 第二个操作数的第一个字符为数字

  3. 第二个操作数的第一个字符为 x,且第二个操作数的第二个字符为小写的十六进制字符或数字

  4. 第二个操作数为指定的 "x"

  5. 第二个操作数为指定的 "."

则假定对应的操作数为偏移操作数而非文件操作数。

如果没有 –N 计数选项,将一直显示到文件结尾。

[+][0] offset [.][b|B]
[+][0][offset] [.]
[+][0x|x][offset]
[+][0x|x] offset[B]

offset_string 操作数会指定要在其中开始转储的文件中的字节偏移。缺省情况下,以八进制字节解释偏移。如果 offset"0" 开头,则以八进制解释。如果 offset"x""0x" 开头,则以十六进制解释,并且将任何附加的 "b" 视为最后的十六进制数字。如果附加 ".",则以十进制解释偏移。如果附加 "b" "B",则以 512 个字节为单位解释偏移。如果忽略 file 参数,offset 参数前面必须带有加号 (+)。地址从给定偏移开始显示。地址基数将与偏移基数(如果已指定)相同,否则为八进制。十进制会覆盖八进制,而在同一偏移操作数中同时指定十六进制和十进制转换会出错。

/usr/xpg4/bin/od

以下操作数只有 /usr/xpg4/bin/od 支持:

file

/usr/bin/od 相同,但前两个条件中只有一个必须满足除外。

[+] [0] offset [.] [b|B]
+ [offset] [.]
[+][0x][offset]
[+][0x] offset [B]
+x [offset]
+xoffset [B]

offset_string 的描述与 /usr/bin/od 的描述相同。

环境变量

有关影响 od 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES、LC_NUMERIC 和 NLSPATH。

退出状态

将返回以下退出值:

0

成功完成。

>0

出现错误。

属性

有关下列属性的说明,请参见 attributes(5)

/usr/bin/od

属性类型
属性值
可用性
system/core-os
CSI
enabled(已启用)

/usr/xpg4/bin/od

属性类型
属性值
可用性
system/xopen/xcu4
CSI
Enabled(已启用)
接口稳定性
Committed(已确定)
标准
请参见 standards(5)

另请参见

sed(1)attributes(5)environ(5)standards(5)