Linux常用命令学习笔记:od

1. 命令概述

  • 命令名称od (英文全拼:octal dump)
  • 核心功能:以八进制、十六进制、十进制等格式显示文件内容
  • 主要用途:查看二进制文件、分析文件结构、调试程序

2. 语法格式

od [选项] [文件]

3. 常用选项

选项说明
-A指定地址格式(d:十进制,o:八进制,x:十六进制,n:不显示)
-t指定输出格式
-j跳过指定字节数
-N只显示指定字节数
-v显示所有数据(不省略重复行)
-w指定每行显示的字节数
-s显示字符串
-c显示可打印字符
-d以无符号十进制显示
-o以八进制显示
-x以十六进制显示
-i以十进制显示整数
-l以十进制显示长整数
-f以浮点数显示
-a以命名字符显示
-b以八进制显示字节
--help显示帮助信息
--version显示版本信息

4. 输出格式说明

(1) 格式类型

  • a:命名字符(如 nul、soh、stx 等)
  • c:可打印字符或转义序列
  • d:有符号十进制
  • f:浮点数
  • o:八进制
  • u:无符号十进制
  • x:十六进制

(2) 格式大小

  • C:1 字节(char)
  • S:2 字节(short)
  • I:4 字节(int)
  • L:8 字节(long)
  • F:4 字节(float)
  • D:8 字节(double)

5. 常用实例详解

(1) 基本用法

# 以八进制显示文件内容(默认)
od file.bin

# 以十六进制显示文件内容
od -x file.bin

# 以十六进制显示,并显示可打印字符
od -x -c file.bin

(2) 指定输出格式

# 以十六进制显示字节
od -t x1 file.bin

# 以十六进制显示双字节
od -t x2 file.bin

# 以十六进制显示四字节
od -t x4 file.bin

# 以八进制显示字节
od -t o1 file.bin

# 以十进制显示字节
od -t d1 file.bin

# 以十进制显示整数
od -t i file.bin

# 以浮点数显示
od -t f file.bin

(3) 指定地址格式

# 以十进制显示地址
od -A d file.bin

# 以十六进制显示地址
od -A x file.bin

# 不显示地址
od -A n file.bin

(4) 控制显示范围

# 跳过前 100 字节
od -j 100 file.bin

# 只显示前 100 字节
od -N 100 file.bin

# 跳过 100 字节,显示 50 字节
od -j 100 -N 50 file.bin

# 每行显示 16 字节
od -w16 file.bin

# 显示所有数据(不省略重复行)
od -v file.bin

(5) 显示字符串

# 显示可打印字符
od -c file.bin

# 显示字符串(以 nul 结尾)
od -s file.bin

# 显示命名字符
od -a file.bin

6. 实际应用场景

场景一:查看二进制文件

# 查看可执行文件
od -x /bin/ls

# 查看 ELF 文件头
od -x -N 64 /bin/ls

# 查看二进制文件的字符串
od -c /bin/ls | grep "GCC"

场景二:分析文件结构

# 查看 PNG 文件头(89 50 4E 47)
od -x -N 8 image.png

# 查看 JPEG 文件头(FF D8 FF)
od -x -N 8 image.jpg

# 查看 PDF 文件头(25 50 44 46)
od -x -N 8 document.pdf

场景三:调试程序

# 查看内存转储文件
od -x core.dump

# 查看二进制数据流
echo "hello" | od -x

# 查看特殊字符
echo -e "hello\tworld\n" | od -c

场景四:分析网络数据

# 查看网络数据包
tcpdump -w packet.pcap
od -x packet.pcap

# 查看二进制协议数据
echo -ne "\x01\x02\x03\x04" | od -x

7. 与其他命令的区别

命令特点适用场景
od以多种格式显示二进制数据分析二进制文件、调试程序
hexdump类似 od,但更灵活查看二进制文件
xxd十六进制转储工具查看和编辑二进制文件
strings提取可打印字符串查看二进制文件中的字符串

8. 注意事项

  1. 文件类型od 可以处理任何类型的文件,包括二进制文件和文本文件
  2. 大文件处理:使用 -j 和 -N 选项控制显示范围,避免输出过多
  3. 格式选择:根据分析需求选择合适的输出格式
  4. 地址偏移:使用 -A 选项指定地址格式,便于定位数据位置
  5. 字符显示:使用 -c 选项查看可打印字符,便于分析文本数据

9. 常见问题解决

(1) 输出过多

# 使用 -N 限制输出字节数
od -N 100 file.bin

# 使用管道和 less 分页查看
od file.bin | less

(2) 查看特定位置

# 跳过文件头,查看数据部分
od -j 100 file.bin

# 查看文件末尾
od -j $(($(wc -c < file.bin) - 100)) file.bin

(3) 分析特定格式

# 查看 ELF 文件头(64 字节)
od -x -N 64 /bin/ls

# 查看 PE 文件头(DOS 头 + PE 头)
od -x -N 128 program.exe

核心要点总结

  • od 是以多种格式显示文件内容的工具,特别适合分析二进制文件
  • 常用选项-t(指定格式)、-j(跳过字节)、-N(限制字节数)、-c(显示字符)
  • 输出格式:八进制(o)、十六进制(x)、十进制(d)、字符(c)、浮点数(f
  • 实际应用:查看二进制文件、分析文件结构、调试程序、分析网络数据
  • 性能优化:使用 -j 和 -N 控制显示范围,避免输出过多数据
  • 格式选择:根据分析需求选择合适的格式,如 -t x1 查看字节级十六进制

od 命令是系统管理员和开发人员分析二进制文件的重要工具,熟练掌握可以大大提高工作效率。


作 者:南烛
链 接:https://www.itnotes.top/archives/266
来 源:IT笔记
文章版权归作者所有,转载请注明出处!


上一篇
下一篇