当前位置: 首页 > news >正文

linux字节流相关工具

参考

linux常用脚本

Linux 底层调试命令

—— dd / hexdump / od / cmp / printf / xxd / strings / tr 等

本文关注的是“字节级工具”
驱动 / FPGA / 嵌入式 / initramfs / 协议调试的必需品。


一、命令分层

可以把这些命令分为 5 层:

  1. 数据生成(造数据)
  2. 数据搬运(I/O)
  3. 数据观察(dump)
  4. 数据比较(验证)
  5. 数据变换(处理)

二、dd —— 原始 I/O 的王者

2.1 dd 是什么?

dd 是一个按块复制字节流的工具


2.2 基本语法

ddif=<输入>of=<输出>bs=<块大小>count=<块数>

2.3 常用参数详解

参数说明
if输入文件或设备
of输出文件或设备
bs块大小
count块数量
skip输入跳过块
seek输出跳过块
conv=notrunc不截断输出文件

2.4 用法

生成固定大小文件

ddif=/dev/zeroof=1m.binbs=1Mcount=1

偏移写(寄存器 / 协议)

printf"\xAA\x55"|ddof=data.binbs=1seek=16conv=notrunc

设备读取

ddif=/dev/pl_dataof=out.binbs=4Kcount=1

性能测试

timeddif=/dev/pl_dataof=/dev/nullbs=64Kcount=1024

三、hexdump —— 二进制可视化

3.1 hexdump 是干啥的?

把不可读的二进制,变成人类可理解的形式


3.2 最常用模式

hexdump -C file.bin

输出结构:

  • 偏移
  • 十六进制
  • ASCII

3.3 精确控制输出格式(高级)

hexdump -v -e'4/4 "%11u "'-e'"\n"'/dev/pl_data#解释:# 4/4:一次读 4 个 4 字节# %11u:无符号整数# -e '"\n"':每行换行

3.4 hexdump 是否阻塞?

  • 对普通文件:不阻塞
  • 对字符设备:取决于驱动 read()
  • 对管道:等待数据

四、od —— hexdump 的“理科生版本”

4.1 od 是什么?

od =octal dump

一个更“数学化”的二进制查看工具


4.2 常用参数

od -Ax -tx1 file.bin
参数含义
-Ax偏移用十六进制
-tx1单字节十六进制
-td44 字节十进制
-tf浮点数

4.3 od vs hexdump

项目hexdumpod
可读性
格式灵活性
工程习惯老 UNIX

4.4 适合场景

  • FPGA 输出寄存器
  • ADC 原始数据
  • 浮点格式检查

五、cmp —— 二进制对比神器

5.1 cmp 是什么?

cmp 用来比较两个文件的字节是否完全一致


5.2 基本用法

cmpa.bin b.bin
  • 无输出:完全相同
  • 有输出:报告第一个不同字节

5.3 静默模式(脚本必备)

cmp-s a.bin b.binecho$?# 0 相同,1 不同

5.4 工程级用途

  • DMA 前后数据校验
  • Flash 写入校验
  • 回环验证

5.5 cmp vs diff

项目cmpdiff
对象二进制文本
输出简洁详细
是否结构化

六、xxd —— hexdump + 反编译能力

6.1 xxd 是什么?

xxd 不仅能 dump,还能反向生成二进制


6.2 基本用法

xxd file.bin

6.3 反向生成(二进制“反汇编”)

xxd dump.txt > dump.hex
xxd -r dump.hex > file.bin

👉 hexdump / od做不到


七、printf —— shell 中的“二进制画笔”

7.1 printf 能干啥?

  • 格式化文本
  • 输出精确字节
  • 构造协议帧

7.2 输出原始字节

printf"\x01\x02\x03\x04">raw.bin

7.3 和 dd 联用

printf"\xDE\xAD\xBE\xEF"|ddof=mem.binbs=1seek=128conv=notrunc

八、strings —— 从二进制中“捞文本”

8.1 strings 是什么?

提取二进制中的可打印字符串


8.2 用途

strings firmware.bin strings vmlinux

8.3 工程场景

  • 固件分析
  • 版本号确认
  • Debug 信息确认

九、tr —— 字节级替换工具

9.1 tr 是什么?

tr 用来逐字节映射 / 删除


9.2 示例

删除所有 0x00:

tr-d'\000'<data.bin

9.3 简单编码处理

tra-z A-Z<file.txt

十、stat / wc / cat -A

10.1 stat

查看 inode / block / 时间戳

statfile.bin

10.2 wc

wc-c file.bin# 字节数

10.3 cat -A

显示不可见字符

cat-A file.txt

十一、组合使用

11.1 DMA 验证流程

printf"\x01\x02\x03\x04">in.binddif=in.binof=/dev/pl_dmaddif=/dev/pl_dmaof=out.bincmpin.bin out.bin

11.2 寄存器观察

watch-n1"od -Ax -tx4 /dev/pl_reg"

十二、总结

工具角色
dd搬运工
hexdump眼睛
od理科视角
cmp判官
printf画笔
xxd可逆工具
strings探针
http://www.jsqmd.com/news/273145/

相关文章:

  • 单例模式入门
  • 2026年冷链数字化方案厂家最新排行榜/冷链解决方案,冷链追溯方案,冷链监控方案,智慧冷链方案,冷链管理方案 - 品牌策略师
  • 冻干技术爆发期,冻干机选型成企业破局关键 - 品牌推荐大师
  • 汽车制造OA系统如何调用WordPress API导入Excel数据?
  • 2026重庆地区助听器专业选配品牌机构推荐:畅听听力优势显著 - 深度智识库
  • 【2026年最新整理】学习网络安全需要学习哪些知识?(附路线图)
  • 安徽高性价比的搬家公司怎么选择?安徽好为民搬家有优势 - 工业品牌热点
  • 芯片制造企业如何通过WordPress实现PDF技术文档比对?
  • 网络安全学习路线图(非常详细)零基础入门到精通,收藏这一篇就够了
  • 0x3f 第37天 复习
  • 2026年4G收发SoC解决方案公司最新推荐榜/RF芯片解决方案,无线遥控装置解决方案,产品防伪应用解决方案 - 品牌策略师
  • 2026年耐高温合金公司品牌推荐榜,精密合金/哈氏合金/蒙乃尔合金/因科耐尔合金/因克洛伊合金 - 品牌策略师
  • 2026年天津遗嘱继承律师联系电话推荐:专业服务与联系方式 - 品牌推荐
  • AI开发全链路工具集:从编码辅助到模型部署的实战指南
  • 2026年单分散气溶胶发生器十大品牌推荐:专业厂家与性能对比 - 品牌推荐大师1
  • 免布线 + 高兼容:POE 温湿度传感器赋能工业 / 医疗 / 文博全域监测
  • 南方基金企业年金历史业绩与风险回撤深度剖析(2026版) - 博客万
  • 国内专业全自动水处理设备厂家怎么挑?实力与服务双维度测评 - 品牌推荐大师1
  • 2026年智能调色温解决方案公司品牌推荐榜/智能调光解决方案,智能照明解决方案,智能家居电源解决方案,智能家居整体解决方案,智能小家电芯片解决方案 - 品牌策略师
  • 论文写作工具全指南:7个平台的核心功能与实战案例
  • 2026年成都鱼火锅行业竞争格局深度分析报告 - 2026年企业推荐榜
  • 提升论文产出的利器:7款工具功能拆解及场景适配
  • 高速印刷机加工厂怎么选?2026年实力派厂家揭秘,可靠的高速印刷机优选实力品牌 - 品牌推荐师
  • 科研写作工具深度测评:7个平台功能与典型应用场景
  • 2026年天津遗产分割律师联系电话推荐:本地化专业服务汇总 - 品牌推荐
  • 学术生产力工具推荐:7大平台功能详解与使用场景
  • 拒稿率清零!虎贲等考 AI 让期刊论文发表不再 “靠运气”
  • 论文写作加速方案:7个工具的功能分析与实际应用
  • 2026汉中电动伸缩门厂家排名:致信门控领衔,靠谱厂家优选指南 - 朴素的承诺
  • Python基于Vue的鲜花销售管理系统的设计与实现django flask pycharm