Linux之超强16进制命令:xxd(三十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列【原创干货持续更新中......】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
更多原创,欢迎关注:Android系统攻城狮

1.前言

本篇目的:理解xxd工具的用法

xxd 是一个 Linux 命令,它在文本和二进制之间进行转换,并且还可以显示文件的十六进制内容。它主要有两个功能:

  1. 二进制与十六进制的转换:xxd 可以将二进制文件转换为十六进制表示,并将结果输出到终端或保存到文件中。它还可以将十六进制文件转换回原始的二进制格式。这对于分析二进制文件、网络数据包以及编写脚本和工具非常有用。

  2. 十六进制文件的显示:xxd 还可以以十六进制和 ASCII 的形式显示文件的内容。这对于查看文件的内容、检查文件是否有特定的模式或用于调试目的非常有帮助。

2.实践

html 复制代码
# xxd -help
Usage:
       xxd [options] [infile [outfile]]
    or
       xxd -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]
Options:
    -a          toggle autoskip: A single '*' replaces nul-lines. Default off.
    -b          binary digit dump (incompatible with -ps,-i,-r). Default hex.
    -C          capitalize variable names in C include file style (-i).
    -c cols     format <cols> octets per line. Default 16 (-i: 12, -ps: 30).
    -E          show characters in EBCDIC. Default ASCII.
    -e          little-endian dump (incompatible with -ps,-i,-r).
    -g bytes    number of octets per group in normal output. Default 2 (-e: 4).
    -h          print this summary.
    -i          output in C include file style.
    -l len      stop after <len> octets.
    -o off      add <off> to the displayed file position.
    -ps         output in postscript plain hexdump style.
    -r          reverse operation: convert (or patch) hexdump into binary.
    -r -s off   revert with <off> added to file positions found in hexdump.
    -d          show offset in decimal instead of hex.
    -s [+][-]seek  start at <seek> bytes abs. (or +: rel.) infile offset.
    -u          use upper case hex letters.
    -v          show version: "xxd 2021-10-22 by Juergen Weigert et al."
  1. 安装xxd命令

sudo apt install xxd

  1. 将二进制文件转换为十六进制并输出到终端:

    xxd test.txt

  2. 将二进制文件转换为十六进制并保存到文件:

    xxd test.txt > test_hex.txt

只转换裸数据,不填加ascii码.

复制代码
xxd  -p test.txt >  test_hex.txt
  1. 将十六进制转换原始裸数据二进制格式:

    xxd -r -p test_hex.txt test.bin

  2. 以十六进制和 ASCII 形式显示文件的内容:

    xxd -g 1 test.txt

相关推荐
重生之高冷汉堡包2 分钟前
什么是数据中心代理?原理拆解、类型区别、应用场景与选型指南
服务器·网络·数据库·安全·ip
Frank_refuel14 分钟前
分布式IoT数据采集与存储系统(项目复盘)
运维·服务器
wuminyu16 分钟前
stackChunkOop内部结构与GC屏障的配合工作原理剖析
java·linux·c语言·jvm·c++
青衫客3616 分钟前
从网卡到 Socket:再探 Linux 网络协议栈与 iptables 数据包处理流程
linux·网络·网络协议
承渊政道21 分钟前
Linux网络学习【TCP Socket编程实战:connect的断线重连与客户端访问Linux验证】
linux·网络·学习·ubuntu·tcp·socket编程
sunoo-22924 分钟前
嵌入式Linux驱动学习笔记(第3-6天):从misc封装、platform总线到设备树、中断与单总线外设实战
linux·arm开发·驱动开发·笔记·单片机·学习
java_logo32 分钟前
Docker 部署 Portainer CE:轻松搭建容器管理平台
运维·docker·容器·portainer·容器管理·轩辕镜像·portainer-ce
雪落漂泊33 分钟前
Linux基础开发工具(一)软件包管理器与Vim编辑器篇
linux·运维·服务器
崽崽..34 分钟前
【Linux】网络编程的调试工具以及连接失败的具体排查方法
linux·网络
承渊政道35 分钟前
CentOS 7单机部署Elasticsearch 7.17.29:从启动报错、CRUD验证到固定公网地址的完整过程
linux·elasticsearch·centos·内网穿透·cpolar·单机部署