od 命令

用途

以指定格式显示文件。

语法

使用 type-string 显示文件以格式化输出

od [ -v ] [ -A AddressBase ] [ -N Count ] [ -j Skip ] [ -t TypeString ...] [ File ...]

使用标志显示文件以格式化输出

奥德 ] [  -b ] [  -c ] [  -C ] [  -d ] [  -D ] [  -e ] [  ] [  -F ] [  -h ] [  -H ] [  -一 ] [  -我 ] [  -我 ] [  -L ] [  -o ] [  -O ] [  -p ] [  -P ] [  -s ] [  -v ] [  -x ] [  -X ] [ [  -S ] ] [  -w ] ] [ 文件 ] [ [ 偏移量] [ 标签 ] ] [ 文件 ... ]

描述

od 命令用指定格式显示由 File 参数指定的文件。 如果 File 参数没有给定,od 命令读取标准输入。 使用多个 -bcCDdFfOoSstvXx 选项可以指定多个类型。

在第一个语法格式中,输出格式是由 -t 标志指定。 如果没有指定格式类型,-t o2 是缺省值。

在第二个语法格式中,输出格式由标志组合指定。 Offset 参数指定了文件中文件输出的开始点。 缺省情况下,Offset 参数解释为八进制字节。 如果 附加 (点) 后缀,该参数解释为十进制; 如果该参数以前导x0x,它将被视为十六进制。 如果 b 后缀添加到参数,解释为块是 512 字节;如果 B 后缀添加到参数上,解释为块是 1024 字节。

Label 参数解释为首字节显示的伪地址。 如果使用了该参数,它在 () 括号中给出,遵循 Offset 参数。 相对于 Offset 参数,后缀有同样的意义。

od 命令读取标准输入时,Offset 参数和 Label 参数前头必须有个 +(加号)。

环境变量的设置如 LANGLC_ALL 影响着 od 命令的操作。

奥德 命令按顺序复制每个输入文件,将它们写入标准输出,并根据使用 -t 标志指定的输出类型来变换输入数据。 输入数据中的缺省字节数与类型说明符字符 D , o , u , X的大小相对应。 这些类型说明符字符允许您在输入数据中指定与 C 编程语言中 字符国际 数据类型中的字节数对应的可选字节数。 也可以通过使用应用程序 (使用 奥德 命令的任何程序或用例) 来指定字节数,其中字符 C 用于 字符 数据类型,字符 S 用于 数据类型,字符 用于 国际 数据类型,字符 我的 用于 数据类型。 类型说明符 1 支持值 4 2 8 ,即使未针对输入数据的大小指定 C 编程语言所要求的数据类型也是如此。 类型说明符字符也支持与 C 编程语言中的 长龙 数据类型类似的十进制值。

标志

第一种格式的标志:

表 1. 使用 type-string 来显示文件以格式化输出的标志
描述
-A AddressBase 指定输入偏移底数。 此 AddressBase 变量是下列的字符之一:
偏移底数写为十进制的。
o
偏移底数写为八进制的。
X
偏移底数写为十六进制的。
n
偏移底数没有显示。

除非指定 -A n,输出行前将有需要写的下一字节的输入偏移量,输入偏移量在输入文件间会形成。 另外,跟随在最后一个字节的字节偏移量将在所有的输入数据处理完后显示。 没有 -A 基地址选项和 [offset_string] 操作数,输入偏移量底数以八进制显示。

-j 跳过

在开始显示输出前,跳跃过由 Skip 变量给定的字节数。 如果指定的文件超过一个,od 命令在显示输出前跳跃过分配的连接输入文件字节数。 如果混合输入不是至少跳跃字节的长度,od 命令将写出诊断消息给标准错误,并退出非零状态。

缺省情况下, Skip 变量的值解释为十进制数字。 带有前缀 0x 或 0X,偏移量解释为十六进制数;带有前缀 0,偏移量解释为八进制数。 如果字符 bk,或者 m 附加到 Skip 变量包含的数,偏移量在字节上等于 Skip 变量各自乘以 512,1024,或者 1024*1024 的值。

-N 计数 格式不超过由 Count 变量指定的输入字节数。 缺省情况下,Count 变量解释为十进制数。 带有前缀 0x 或 0X,认为是十六进制数。 如果以 0 开始,认为是八进制数。 显示地址的底数不是由 Count 选项参数的底数提示的。
-t TypeString 指定输出类型。 TypeString 变量是一个当写出数据时,指定使用类型的字符串。 多个类型能够连接在同一个 TypeString 变量中,并且 -t 标志能够多次指定。 对于每个指定的类型写出了输出行,依照给定类型指定字符的顺序。 TypeString 变量能够包括下列字符:
a
显示字节为指定的字符。 在 0 到 01777 范围内,带有至少 7 位的字节,对于那些字符,用相应的名称来写。
c
显示字节为字符。 由 c 类型字符串变换的字节数由 LC_CTYPE 本地类别确定。 可打印的多字节字符写在与字符的第一个字节对应的区域中; 两个字符序列 ** 写在与字符中每个剩余字节对应的区域中,作为字符继续的指示。 下列非图形字符作为 C- 语言转义序列使用:
\    Backslash
\a   Alert
\b   Backspace
\f   Form-feed
\n   New-line character
\0   Null
\r   Carriage return
\t   Tab
\v   Vertical tab
显示字节为有符号十进制。 缺省情况下,od 命令变换相应的字节数为 C 语言类型 intd 类型字符串能够跟随无符号的十进制整数,它指定了由每个输出类型实例变换的字节数。

可选的 CIL,或者 S 字符能够附加到 d 可选项,表示转换应该分别适用于 charintlong,或者 short

f
显示字节为浮点。 缺省情况下,od 命令变换相应的字节数为 C - 语言类型 doublef 类型字符串能够跟随无符号的十进制整数,它指定了由每个输出类型的实例变换的字节数。

可选的 FDL 可以附加到 f 选项,表明该转换应该分别应用至类型为 floatdoublelong double 的项目。

o
显示字节为八进制。 缺省情况下,od 命令变换相应的字节数为 C 语言类型 into 类型字符串能够跟随无符号的十进制整数,它指定了由每个输出类型实例变换的字节数。

可选的 CIL,或者 S 字符能够附加到 o 可选项,表示转换应该分别适用于类型 charintlong,或者 short

u
显示字节为无符号的十进制。 缺省情况下,od 命令变换相应的字节数为 C 语言类型 intu 类型字符串能够跟随无符号的十进制整数,它指定了由每个输出类型的实例变换的字节数。

可选的 CILS 字符可以附加到 u 选项,表明该转换应该分别应用至类型为 charintlongshort 的项目。

X
显示字节为十六进制。 缺省情况下,od 命令变换相应的字节数为 C 语言类型 intx 类型字符串能够跟随无符号的十进制整数,它指定了由每个输出类型实例变换的字节数。

可选的 CIL,或者 S 字符能够附加到 x 可选项,表示转换应该分别适用于 charintlongshort

-v 写所有输入数据。 缺省情况下,等同于先前输出行的输出行没有显示,但是用只包含 *(星号)的行替换。 指定了 -v 标志时,显示所有的行。

第二种格式的标志:

表 2。 使用标志来显示文件以格式化输出的标志
描述
显示字节为字符,并且用它们的 ASCII 名称显示。 如果 -p 标志也给定了,带有偶校验的字节加下划线。 -P 标志引起带有奇校验的字节加下划线。 否则忽略奇偶性校验。
-b 显示字节为八进制值。
-c 显示字节为 ASCII 符。 下列非图形字符作为 C-语言转义序列使用:
\    Backslash
\a   Alert
\b   Backspace
\f   Form-feed
\n   New-line character
\0   Null
\r   Carriage return
\t   Tab
\v   Vertical tab

其他表示为 3 位的八进制数。

-C 显示扩展字符作为标准显示 ASCII 字符(使用合适的字符转义),并且以十六进制格式显示多字节字符。
-d 显示 16 位字为无符号十进制值。
-D 显示长字为无符号十进制值。
-e 显示长字为双精度、浮点。 (如同 -F 标志)
-f 显示长字为浮点。
-f 显示长字为双精度、浮点。 (如同 -e 标志)
-h 显示 16 位字为无符号十六进制。
-h 显示长字为无符号十六进制值。
-一 显示 16 位字为有标记十进制。
-我 (大写 i)显示长字为有标记十进制值。
-l (小写 L)显示长字为有标记十进制值。
-L 显示长字为有标记十进制值。
-O 显示 16 位字为无符号八进制。
-O 显示长字为无符号八进制值。
-p 表示对 -a 转换进行偶校验。
-P 表示对 -a 转换进行奇校验。
-s 显示 16 位字为有标记十进制值。
- S [N ] 搜索以空字节结束的字符的字符串。 N 变量指定了需标识的最小长度的字符串。 如果 N 变量省略了,最小长度缺省值为 3 个字符。
-v 写所有输入数据。 缺省情况下,等同于先前输出行的输出行没有显示,但是用只包含 *(星号)的行替换。 指定了 -v 标志时,显示所有的行。
- w [N ] 指定需解释并且在每个输出行显示的输入字节的数量。 如果 -w 标志没有指定,每一显示行读取 16 字节。 如果指定了 -w 标志没有带 N 变量,每个显示行读取 32 个字节。 最大输入值是 4096 字节。 大于 4096 字节的输入值将重新分配最大值。
-x 显示 16 位字为十六进制值。
-X 显示长字为无符号十六进制值。 (如同 -H 标志)

注: 标志 -我 (大写的 i) , -我 (小写的 L) 和 -L 相同。

退出状态

本命令返回以下退出值:

表 3。 退出状态
描述
重大安全事件数量 所有输入文件被成功处理。
>0 发生错误。

示例

  1. 要以八进制显示文件 (一次一个页面) ,请输入:
    od a.out | pg
    此命令显示a.out八进制格式的文件,并通过 帕格 命令传送输出。
  2. 要一次将文件转换为多种格式,请输入:
    od -t cx a.out > a.xcd
    此命令写入以下内容:a.out文件,采用十六进制格式 ( X) 和字符格式 ( C) ,a.xcd中。
  3. 要开始显示中间的文件 (使用第一个语法格式) ,请输入:
    od -t acx -j 100 a.out
    此命令显示a.out文件的命名字符 ( a )、字符 ( c ) 和十六进制 ( x ) 格式,从第 100 个字节开始。
  4. 要在文件的中间开始 (使用第二个语法格式) ,请输入:
    od -bcx a.out +100.
    这将以八进制字节(-b)、字符(-c)和十六进制(-x)格式显示 a.out 文件的八进制字节 ( -b )、字符 ( -c ) 和十六进制 ( -x ) 格式,从第 100 个字节开始显示。 . (点)表示它是十进制数。 没有点,输出将从第 64(八进制为 100)个字节开始。

文件

表 4。 文件
描述
/usr/bin/od 包含 od 命令。