linux下查看二进制文件的命令
linux下查看二进制文件的命令详细介绍
在 Linux 下查看二进制文件时,通常需要使用能解析二进制数据的工具,以下是常用的命令和方法:
1.
hexdump - 十六进制转储工具
最常用的二进制文件查看工具,支持多种输出格式(十六进制、十进制、ASCII 等)。
语法:
bash
hexdump 选项 文件名
常用选项:
-x:以十六进制格式显示(按双字节,16 位)。-c:显示 ASCII 字符(非打印字符显示为转义形式)。-v:显示所有行(默认会忽略重复行)。-n <字节数>:仅显示前<字节数>个字节。-s <偏移量>:从指定偏移量开始显示。
示例:
bash
hexdump binary_filehexdump binary_file
2.
od - 八进制转储工具(更底层,支持更多格式)
可自定义输出格式,支持八进制、十六进制、十进制、ASCII 等。
语法:
bash
od 选项 文件名
常用选项:
-t x1:单字节十六进制显示(等同于hexdump -x)。-t d1:单字节十进制显示。-t a:ASCII 字符显示(非打印字符显示为缩写,如nl表示换行)。-j <偏移量>:跳过指定字节数后开始显示。
示例:
bash
od x1 binary_fileod binary_file
3.
xxd - 灵活的十六进制 / 二进制转换工具
可将二进制文件转换为十六进制文本,也可反向转换(编辑后恢复)。
语法:
bash
xxd 文件名xxd 十六进制文件
示例:
bash
xxd binary_file
如果需要编辑二进制文件,可先用 xxd 转换为文本:
bash
xxd binary_file binary_hex.txtxxd binary_hex.txt binary_file_edited
4.
vim 编辑器的二进制模式
直接用 vim 以二进制模式打开文件,并显示十六进制内容:
bash
binary_file
在 vim 中输入以下命令可切换为十六进制显示:
vim
xxd # 将当前内容通过 xxd 过滤,显示为十六进制xxd # 恢复为二进制(编辑后使用)
5.
strings - 提取二进制文件中的可打印字符串
用于快速查找二进制文件中的文本信息(如版本号、路径、日志等),忽略非打印字符。
语法:
bash
strings 文件名
示例:
bash
strings /bin/ls
6.
objdump - 显示目标文件信息(针对 ELF 格式二进制文件)
主要用于查看 ELF 格式的二进制文件(如可执行文件、库文件),支持反汇编、符号表等高级功能。
语法:
bash
objdump 文件名objdump 文件名
9123objdump 文件名 objdump 文件名
总结选择建议:
- 快速查看十六进制:首选
hexdump -c或xxd,直观显示字节和 ASCII 对照。 - 提取文本信息:用
strings,适合查找二进制中的可读字符串。 - 编辑二进制:通过
xxd转换为文本编辑,或用vim -b + :%!xxd直接处理。 - ELF 文件分析:用
objdump,提供反汇编等深度信息。
根据具体需求选择合适的工具即可。