
xxd 是 Linux 系统中一款用于将文件内容转换为十六进制格式的命令行工具,常用于数据调试和二进制分析。
它不仅可以显示文件的十六进制表示,还可以将十六进制还原为原始二进制数据。
<code> xxd [参数] [输入文件 [输出文件]]</code>
常用参数说明:
-r:执行反向操作,将十六进制还原成二进制。-p:以纯十六进制形式输出(不带地址偏移和 ASCII)。-c cols:设置每行显示的字节数,默认为 16。-g bytes:定义每组显示的字节数,默认是 2。-s offset:从指定偏移位置开始读取文件(支持负数偏移)。-l length:限制输出的数据长度。-u:输出大写的十六进制字符。-i:生成 C 语言数组格式的输出。-b:输出二进制位代替十六进制。查看文件的十六进制内容:
<code> xxd filename</code>
将文本转换为十六进制:
<code> echo "Hello World" | xxd</code>
调整每行显示的字节数:
<code> xxd -c 8 filename</code>
还原十六进制为原始数据:
<code> xxd -r hexfile</code>
仅显示十六进制部分:
<code> xxd -p filename</code>
限定输出范围:
<code> xxd -s 0x10 -l 0x20 filename</code>
1. 显示文件的十六进制内容
<code> xxd filename.txt</code>
输出示例:
<code> 00000000: 4865 6c6c 6f0a Hello.</code>
2. 每行只显示 8 字节数据
<code> xxd -c 8 filename.txt</code>
输出示例:
<code> 00000000: 4865 6c6c 6f0a 0000 Hello...</code>
3. 将十六进制数据还原为二进制文件
<code> xxd -r hexfile.txt original.bin</code>
4. 从特定偏移量开始显示内容
<code> xxd -s 0x10 filename.txt</code>
5. 输出纯十六进制格式
<code> xxd -p filename.txt</code>
输出示例:
<code> 48656c6c6f0a</code>
6. 生成 C 数组格式
<code> xxd -i filename.txt</code>
输出示例:
<code>unsigned char filename_txt[] = {
0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x0a
};
unsigned int filename_txt_len = 6;</code>7. 十六进制输出使用大写字母
<code> xxd -u filename.txt</code>
输出示例:
<code> 00000000: 4865 6c6c 6f0a Hello.</code>
8. 只显示前 16 个字节
<code> xxd -l 16 filename.txt</code>
9. 以二进制方式显示内容
<code> xxd -b filename.txt</code>
输出示例:
<code> 00000000: 01001000 01100101 01101100 01101100 01101111 00001010 Hello.</code>
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号