Linux od 命令 | 以八进制或其他形式输出文件
od(英文全称为:Octal Dump)命令是 Linux / Unix / FreeBSD 系统中的分析文件二进制的命令,它是将文本或二进制文件的内容转换为八进制、十六进制、十进制、二进制等数值格式。
文本将全面的解析 od 命令的使用方式。
od 命令语法详解
如下给出 od 命令的基本语法形式:
# 基础格式
od [选项] [文件]...
# 带偏移量格式
od [选项] [文件] [[+]偏移量[.][b] [[+]]标签[.][b]]
od 命令使用示例
使用八进制查看内容
默认不提供参数会以八进制输出内容:
od /bin/ls
如上示例是以八进制形式输出 ls 命令的内容。
使用十六进制查看内容
使用 -x 选项,可以以十六进制显示内容:
od -x /bin/ls
如上示例是以十六进制形式输出 ls 命令的内容。
附加显示行内容
示例中使用的 text.txt 文本内容:
hello world.
使用 -t 选项设置输出形式后,后面附加 z 显示行内容:
od -t x1z text.txt
输出示例:
0000000 68 65 6c 6c 6f 20 77 6f 72 6c 64 2e >hello world.<
0000014
跳过前面的一些字节
使用 -j 选项跳过前面的一些字节查看内容:
od -j 512 -N 64 /bin/ls
od 命令选项详解
如下给出 od 命令选项的解释说明:
| 类别 | 选项 | 作用说明 |
|---|---|---|
| 用于控制输出形式 | -t <类型> |
<类型> 是一个组合第一个字符为设置其输出进制,后面为一个数值,控制一次显示几个字节可以使用的类型组合有: - xN:十六进制,一次显示 N 字节- dN:十进制,一次显示 N 字节- oN:八进制,- uN:无符号十进制,一次显示 N 字节- c:一次显示一个ASCII字符- b:一次显示一个字节的二进制注意:可以在每种组合的后面附加 z ,在每行的后面输出改行内容的可打印字符 |
| 控制地址的输出形式 | -A<基数> |
用于输出显示中每行开头的那个字符的偏移地址(以文件开头的第一个字节的地址为 0 的偏移量): - o:八进制形式输出地址信息,该值是默认值- x:十六进制形式输出地址信息- d:十进制形式输出地址信息- n:不显示地址信息 |
| 用于控制数据的输出范围 | -N <数字> |
只显示文件中的前 <数字> 个字节,查看大文件时可以使用,也可以使用管道转递给 less |
| 用于控制数据的输出范围 | -j <数字> |
跳过前面的 <数字> 个字节的内容来显示数据,可以与 -N 结合使用 |
| 输出控制 | -v |
显示所有内容行,主要是控制显示重复的内容行,默认重复的内容行使用*省略显示 |
| 输出控制 | -w <数字> |
用于设置每行显示的字节数 |
| 其他 | --help |
显示帮助信息 |
结语
od 命令是开发者的一个辅助工具,能够帮助开发分析二进制文件的数据。在本文中详细的介绍了 od 命令的使用方法,包含语法结构、使用示例以及选项的详细解释。
od 可以跨平台在 Linux 以及 FreeBSD 中使用,基本功能是相同的。