'\" te .\" Copyright 1989 AT&T .\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Portions Copyright (c) 2005, 2011, Oracle and/or its affiliates.All rights reserved. .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation.Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation.In the following statement, the phrase "this text" refers to portions of the system documentation.Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group.In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document.The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.This notice shall appear on any product containing this material. .TH od 1 "2011 年 6 月 7 日" "SunOS 5.11" "用户命令" .SH 名称 od \- 八进制转储 .SH 用法概要 .LP .nf \fB/usr/bin/od\fR [\fB-bcCDdFfOoSsvXx\fR] [\fB-\fR] [\fIfile\fR] [\fIoffset_string\fR] .fi .LP .nf \fB/usr/bin/od\fR [\fB-bcCDdFfOoSsvXx\fR] [\fB-A\fR \fIaddress_base\fR] [\fB-j\fR \fIskip\fR] [\fB-N\fR \fIcount\fR] [\fB-t\fR \fItype_string\fR]... [\fB-\fR] [\fIfile\fR]... .fi .LP .nf \fB/usr/xpg4/bin/od\fR [\fB-bcCDdFfOoSsvXx\fR] [\fIfile\fR] [\fIoffset_string\fR] .fi .LP .nf \fB/usr/xpg4/bin/od\fR [\fB-bcCDdFfOoSsvXx\fR] [\fB-A\fR \fIaddress_base\fR] [\fB-j\fR \fIskip\fR] [\fB-N\fR \fIcount\fR] [\fB-t\fR \fItype_string\fR]... [\fIfile\fR]... .fi .SH 描述 .sp .LP \fBod\fR 命令会按顺序将每个输入文件复制到标准输出,并根据 \fB-t\fR 或 \fB-bcCDdFfOoSsvXx\fR 选项指定的输出类型转换输入数据。如果未指定输出类型,则会按照指定了 \fB- t\fR \fBo2\fR 时的情况执行缺省输出。使用多个 \fB-bcCDdFfOoSstvXx\fR 选项可以指定多个类型。按类型的指定顺序,为指定的每个类型写入输出行。如果未指定 \fIfile\fR,则使用标准输入。[\fIoffset_string\fR] 操作数与 \fB-A\fR、\fB-j\fR、\fB-N\fR 和 \fB-t\fR 选项互斥。为方便描述,使用了以下术语: .sp .ne 2 .mk .na \fBword(词)\fR .ad .sp .6 .RS 4n 指的是一个 16 位单位,与计算机的词大小无关。 .RE .sp .ne 2 .mk .na \fBlong word(长词)\fR .ad .sp .6 .RS 4n 指的是一个 32 位单位。 .RE .sp .ne 2 .mk .na \fBdouble long word(双长词)\fR .ad .sp .6 .RS 4n 指的是一个 64 位单位。 .RE .SH 选项 .sp .LP 支持以下选项: .sp .ne 2 .mk .na \fB\fB-A\fR \fIaddress_base\fR\fR .ad .RS 19n .rt 指定输入偏移基址。\fIaddress_base\fR 选项参数必须是一个字符。字符 \fBd\fR、\fBo\fR 和 \fBx\fR 分别指定将以十进制、八进制或十六进制格式写入偏移基址。指定字符 \fBn\fR 时则不写入偏移。除非指定 \fB-A\fR \fBn\fR,否则将在输出行前面加上要写入的下一个字节在输入文件中累积的输入偏移。此外,处理完所有输入数据之后,将显示最后写入字节后面的字节的偏移。如果没有 \fB-A\fR \fIaddress_base\fR 选项和 [\fIoffset_string\fR] 操作数,将以八进制格式显示输入偏移基址。 .RE .sp .ne 2 .mk .na \fB\fB-b\fR\fR .ad .RS 19n .rt 以八进制解释字节。这等效于 \fB-t\fR \fBo1\fR。 .RE .SS "/usr/bin/od" .sp .ne 2 .mk .na \fB\fB-c\fR\fR .ad .RS 6n .rt 显示单字节字符。某些非图形字符显示为 C 语言转义: .sp .in +2 .nf null \fB\e0\fR backspace \fB\eb\fR form-feed \fB\ef\fR new-line \fB\en\fR return \fB\er\fR tab \fB\et\fR .fi .in -2 .sp 其他字符显示为 3 位数的八进制数字。例如: .sp .in +2 .nf \fBecho "hello world" | od \(mic\fR 0000000 h e l l o w o r l d \en 0000014 .fi .in -2 .sp .RE .SS "/usr/xpg4/bin/od" .sp .ne 2 .mk .na \fB\fB-c\fR\fR .ad .RS 18n .rt 根据 \fBLC_CTYPE\fR 语言环境类别的当前设置,将字节解释为单字节或多字节字符。可列显多字节字符在字符的第一个字节对应的区域写入。双字符序列 \fB**\fR 在字符中每个其余字节对应的区域写入,表示字符未完待续。非图形字符按照使用 \fB-C\fR 选项时的情况显示。 .RE .sp .ne 2 .mk .na \fB\fB-C\fR\fR .ad .RS 18n .rt 根据 \fBLC_CTYPE\fR 语言环境类别的当前设置,将字节解释为单字节或多字节字符。可列显多字节字符在字符的第一个字节对应的区域写入。双字符序列 ** 在字符中每个其余字节对应的区域写入,表示字符未完待续。某些非图形字符显示为 C 语言转义: .sp .in +2 .nf null \fB\e0\fR backspace \fB\eb\fR form-feed \fB\ef\fR new-line \fB\en\fR return \fB\er\fR tab \fB\et\fR .fi .in -2 .sp 对于其他不可列显字符,字符中的每个字节都显示为一个 3 位八进制数字。 .RE .sp .ne 2 .mk .na \fB\fB-d\fR\fR .ad .RS 18n .rt 以无符号十进制解释字。这等效于 \fB-t\fR \fBu2\fR。 .RE .sp .ne 2 .mk .na \fB\fB-D\fR\fR .ad .RS 18n .rt 以无符号十进制解释长字。这等效于 \fB-t\fR \fBu4\fR。 .RE .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 18n .rt 以浮点解释长字。这等效于 \fB-t\fR \fBf4\fR。 .RE .sp .ne 2 .mk .na \fB\fB-F\fR\fR .ad .RS 18n .rt 以扩展精度解释双长字。这等效于 \fB-t\fR \fBf8\fR。 .RE .sp .ne 2 .mk .na \fB\fB-j\fR \fIskip\fR\fR .ad .RS 18n .rt 跳过输入开头的 \fIskip\fR 字节。\fBod\fR 命令将向后读取或查找串联输入文件的前几个 \fIskip\fR 字节。如果组合输入不到 \fIskip\fR 字节长,\fBod\fR 命令将向标准错误写入一条诊断消息,并且以非零退出状态退出。 .sp 缺省情况下,\fIskip\fR 选项参数解释为一个十进制数字。如果带有前导 \fB0x\fR 或 \fB0X\fR,偏移将解释为一个十六进制数字;否则,如果带有前导 \fB0\fR,偏移将解释为一个八进制数字。将字符 \fBb\fR、\fBk\fR 或 \fBm\fR 附加到偏移时,将使其分别解释为 \fB512\fR、\fB1024\fR 或 \fB1 048 576\fR 个字节的倍数。如果 \fIskip\fR 数字为十六进制,任何附加的 \fBb\fR 都被视为最后的十六进制数字。地址从 \fB0000000\fR 开始显示,并且其基址未隐含在 \fIskip\fR 选项参数的基址中。 .RE .sp .ne 2 .mk .na \fB\fB-N\fR \fIcount\fR\fR .ad .RS 18n .rt 设置不超过 \fIcount\fR 个字节的输入的格式。缺省情况下,\fIcount\fR 解释为一个十进制数字。如果带有前导 \fB0x\fR 或 \fB0X\fR,\fIcount\fR 则解释为一个十六进制数字;否则,如果带有前导 \fB0\fR,则解释为一个八进制数字。如果 \fIcount\fR 个字节的输入(如果指定了 \fB-j\fR\fIskip\fR,则为成功跳过后的输入)不可用,它将被视为错误。\fBod\fR 命令将设置可用输入的格式。\fIcount\fR 选项参数的基址不隐含显示的地址的基址。 .RE .sp .ne 2 .mk .na \fB\fB-o\fR\fR .ad .RS 18n .rt 以八进制解释字。这等效于 \fB-t\fR \fBo2\fR。 .RE .sp .ne 2 .mk .na \fB\fB-O\fR\fR .ad .RS 18n .rt 以无符号八进制解释长字。这等效于 \fB-t\fR \fBo4\fR。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .RS 18n .rt 以有符号十进制解释字。这等效于 \fB-t\fR \fBd2\fR。 .RE .sp .ne 2 .mk .na \fB\fB-S\fR\fR .ad .RS 18n .rt 以有符号十进制解释长字。这等效于 \fB-t\fR \fBd4\fR。 .RE .sp .ne 2 .mk .na \fB\fB-t\fR \fItype_string\fR\fR .ad .RS 18n .rt 指定一个或多个输出类型。\fItype_string\fR 选项参数必须为一个字符串,用于指定写入输入数据时使用的类型。该字符串必须由类型指定字符组成: .sp .ne 2 .mk .na \fB\fBa\fR\fR .ad .RS 5n .rt \fINamed character\fR.将字节解释为指定的字符。每个字节中只有 7 个最低有效位用于此类型指定。带有下表列出的值的字节将使用与那些字符对应的名称写入。 .sp 以下是 \fBod\fR 中的指定字符: .sp .in +2 .nf Value Name \e000 nul \e001 soh \e002 stx \e003 etx \e004 eot \e005 enq \e006 ack \e007 bel \e010 bs \e011 ht \e012 lf \e013 vt \e014 ff \e015 cr \e016 so \e017 si \e020 dle \e021 dc1 \e022 dc2 \e023 dc3 \e024 dc4 \e025 nak \e026 syn \e027 etb \e030 can \e031 em \e032 sub \e033 esc \e034 fs \e035 gs \e036 rs \e037 us \e040 sp \e177 del .fi .in -2 .sp .RE .sp .ne 2 .mk .na \fB\fBc\fR\fR .ad .RS 5n .rt \fICharacter\fR.将字节解释为由 \fBLC_CTYPE\fR 语言环境类别的当前设置指定的单字节或多字节字符。可列显多字节字符在字符的第一个字节对应的区域写入。双字符序列 \fB**\fR 在字符中每个其余字节对应的区域写入,表示字符未完待续。某些非图形字符显示为 C 语言转义:\fB\0\fR、\fB\a\fR、\fB\b \fR、\fB\f\fR、\fB\n\fR、\fB\r\fR、\fB\t\fR、\fB\v\fR。对于其他不可列显字符,字符中的每个字节都显示为一个 3 位八进制数字。 .RE 类型制定字符 \fBd\fR、\fBf\fR、\fBo\fR、\fBu\fR 和 \fBx\fR 后面可以跟有一个可选的无符号十进制整数,用于指定每个输出类型实例转换的字节数。 .sp .ne 2 .mk .na \fB\fBf\fR\fR .ad .RS 19n .rt \fIFloating point\fR.后面可以跟有可选的 \fBF\fR、\fBD\fR 或 \fBL\fR,表示转换应当分别应用于 \fBfloat\fR、\fBdouble\fR 或 \fBlong double\fR 类型项目。 .RE .sp .ne 2 .mk .na \fB\fBd\fR、\fBo\fR、\fBu\fR 和 \fBx\fR\fR .ad .RS 19n .rt 分别为 \fISigned decimal\fR、\fIoctal\fR、\fIunsigned decimal\fR 和 \fIhexadecimal\fR。后面可以跟有可选的 \fBC\fR、\fBS\fR、\fBI\fR 或 \fBL\fR,表示转换应当分别应用于 \fBchar\fR、\fBshort\fR、\fBint\fR 或 \fBlong\fR 类型项目。 .RE 可以在同一 \fItype_string\fR 中串联多个类型,并且可以指定多个 \fB-t\fR 选项。按类型指定字符的指定顺序,为指定的每个类型写入输出行。 .RE .sp .ne 2 .mk .na \fB\fB-v\fR\fR .ad .RS 18n .rt 显示全部输入数据(详细)。如果没有 \fB-v\fR 选项,与紧接在前面的输出行相同的全部输出行组将替换为仅包含星号 (*) 的行。 .RE .sp .ne 2 .mk .na \fB\fB-x\fR\fR .ad .RS 18n .rt 以十六进制解释字。这等效于 \fB-t\fR \fBx2\fR。 .RE .sp .ne 2 .mk .na \fB\fB-X\fR\fR .ad .RS 18n .rt 以十六进制解释长字。这等效于 \fB-t\fR \fBx4\fR。 .RE .SH 操作数 .SS "/usr/bin/od" .sp .LP 以下操作数只有 \fB/usr/bin/od\fR 支持: .sp .ne 2 .mk .na \fB\fB-\fR\fR .ad .RS 26n .rt 除了指定的文件外还使用标准输入。未给定此操作数时,标准输入仅在未指定 \fIfile\fR 操作数时使用。 .RE .sp .ne 2 .mk .na \fB\fIfile\fR\fR .ad .RS 26n .rt 需要读取的文件的路径名。如果未指定 \fIfile\fR 操作数,将使用标准输入。如果操作数不超过两个,\fB-A\fR、\fB-j\fR、\fB-N\fR 或 \fB-t\fR 选项未指定,并且满足以下\fI任一\fR条件: .RS +4 .TP 1. 最后一个操作数的第一个字符为加号 (+) .RE .RS +4 .TP 2. 第二个操作数的第一个字符为数字 .RE .RS +4 .TP 3. 第二个操作数的第一个字符为 \fBx\fR,且第二个操作数的第二个字符为小写的十六进制字符或数字 .RE .RS +4 .TP 4. 第二个操作数为指定的 \fB"x"\fR .RE .RS +4 .TP 5. 第二个操作数为指定的 \fB"."\fR .RE 则假定对应的操作数为偏移操作数而非文件操作数。 .sp 如果没有 \fB-N\fR 计数选项,将一直显示到文件结尾。 .RE .sp .ne 2 .mk .na \fB\fB[+][0]\fR \fIoffset\fR \fB[.][b|B]\fR\fR .ad .br .na \fB\fB[+][0][\fR\fIoffset\fR] \fB[.]\fR\fR .ad .br .na \fB\fB[+][0x|x]\fR[\fIoffset\fR]\fR .ad .br .na \fB\fB [+][0x|x]\fR \fIoffset\fR\fB[B]\fR\fR .ad .RS 26n .rt \fIoffset_string\fR 操作数会指定要在其中开始转储的文件中的字节偏移。缺省情况下,以八进制字节解释偏移。如果 \fIoffset\fR 以 \fB"0"\fR 开头,则以八进制解释。如果 \fI offset\fR 以 \fB"x"\fR 或 \fB"0x"\fR 开头,则以十六进制解释,并且将任何附加的 \fB"b"\fR 视为最后的十六进制数字。如果附加 \fB"."\fR,则以十进制解释偏移。如果附加 \fB"b"\fR 或 \fB "B"\fR,则以 \fB512\fR 个字节为单位解释偏移。如果忽略 \fBfile\fR 参数,\fIoffset\fR 参数前面必须带有加号 (\fB+\fR)。地址从给定偏移开始显示。地址基数将与偏移基数(如果已指定)相同,否则为八进制。十进制会覆盖八进制,而在同一偏移操作数中同时指定十六进制和十进制转换会出错。 .RE .SS "/usr/xpg4/bin/od" .sp .LP 以下操作数只有 \fB/usr/xpg4/bin/od\fR 支持: .sp .ne 2 .mk .na \fB\fIfile\fR\fR .ad .RS 28n .rt 与 \fB/usr/bin/od\fR 相同,但前两个条件中只有一个必须满足除外。 .RE .sp .ne 2 .mk .na \fB\fB[+] [0]\fR \fIoffset\fR \fB[.] [b|B]\fR\fR .ad .br .na \fB\fB+ [\fR\fIoffset\fR] \fB[.]\fR\fR .ad .br .na \fB\fB[+][0x]\fR[\fIoffset\fR]\fR .ad .br .na \fB\fB [+][0x]\fR \fIoffset\fR\fB [B]\fR\fR .ad .br .na \fB\fB+x [\fR\fIoffset\fR\fB]\fR\fR .ad .br .na \fB\fB+x\fR\fIoffset\fR \fB[B]\fR\fR .ad .RS 28n .rt \fIoffset_string\fR 的说明与 \fB/usr/bin/od\fR 的说明相同。 .RE .SH 环境变量 .sp .LP 有关影响 \fBod\fR 执行的以下环境变量的说明,请参见 \fBenviron\fR(5):\fBLANG\fR、\fBLC_ALL\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR、\fBLC_NUMERIC\fR 和 \fBNLSPATH\fR。 .SH 退出状态 .sp .LP 将返回以下退出值: .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 成功完成。 .RE .sp .ne 2 .mk .na \fB\fB>0\fR\fR .ad .RS 6n .rt 出现错误。 .RE .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .SS "/usr/bin/od" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os _ CSIenabled(已启用) .TE .SS "/usr/xpg4/bin/od" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/xopen/xcu4 _ CSIEnabled(已启用) _ 接口稳定性Committed(已确定) _ 标准请参见 \fBstandards\fR(5)。 .TE .SH 另请参见 .sp .LP \fBsed\fR(1)、\fBattributes\fR(5)、\fBenviron\fR(5)、\fBstandards\fR(5)