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