unix常用命令手册 – xxd 查看十六进制

作者 : 开心源码 本文共2232个字,预计阅读时间需要6分钟 发布时间: 2022-05-13 共137人阅读

xxd

名称

xxd – make a hexdump or do the reverse

概要

xxd -h[elp]xxd [options] [infile [outfile]]xxd -r[evert] [options] [infile [outfile]]

形容

xxd 对于标准输入或者给定文件,显示其16进制的内容,也可以反过来进行转换。

$ xxd hello.txt 00000000: 6865 6c6c 6f20 776f 726c 6420 310a 6865  hello world 1.he00000010: 6c6c 6f20 776f 726c 6420 320a            llo world 2.

选项

假如未指定infile(或者指定infile为字符’-‘),则采用标准输入。
假如未指定outfile(或者者指定outfile为字符’-‘),则采用标准输出。

-b | -bits

以二进制格式进行输出。-r, -p, -i在此模式无效。

$ xxd -b hello.txt 00000000: 01101000 01100101 01101100 01101100 01101111 00100000  hello 00000006: 01110111 01101111 01110010 01101100 01100100 00100000  world 0000000c: 00110001 00001010 01101000 01100101 01101100 01101100  1.hell00000012: 01101111 00100000 01110111 01101111 01110010 01101100  o worl00000018: 01100100 00100000 00110010 00001010                    d 2.
-c cols | -cols cols

每行输出多少个字节。默认16(-i: 12, -ps: 30, -b: 6),最大256 。

$ xxd -c 8 hello.txt 00000000: 6865 6c6c 6f20 776f  hello wo00000008: 726c 6420 310a 6865  rld 1.he00000010: 6c6c 6f20 776f 726c  llo worl00000018: 6420 320a            d 2.
-C | -capitalize

在指定-i(输出成C语言数组格式)时使用,生成大写的变量名。

$ xxd -C -i hello.txt unsigned char HELLO_TXT[] = {  0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x20,  0x31, 0x0a, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c,  0x64, 0x20, 0x32, 0x0a};unsigned int HELLO_TXT_LEN = 28;
-e

将每个组的数据以little-endian模式输出。

$ xxd -e hello.txt 00000000: 6c6c6568 6f77206f 20646c72 65680a31  hello world 1.he00000010: 206f6c6c 6c726f77 0a322064           llo world 2.
-g bytes | -groupsize bytes

几个字节成一组,使用-g 0 取消分组。

$ xxd -g 4 hello.txt 00000000: 68656c6c 6f20776f 726c6420 310a6865  hello world 1.he00000010: 6c6c6f20 776f726c 6420320a           llo world 2.
-h | -help

打印帮助。

-i |-include

输出成C语言数组格式。

$ xxd -i hello.txt unsigned char hello_txt[] = {  0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x20,  0x31, 0x0a, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c,  0x64, 0x20, 0x32, 0x0a};unsigned int hello_txt_len = 28;
-l len | -len len

输出几个字节后结束。

$ xxd -l 10 hello.txt 00000000: 6865 6c6c 6f20 776f 726c                 hello worl
-p | -ps | -postscript | -plain

以一个整块输出所有的hex, 不使用空格进行分割。

$ xxd -p hello.txt 68656c6c6f20776f726c6420310a68656c6c6f20776f726c6420320a
-r | -revert

反向操作。

-s [+][-] seek

从第几个字节开始。+seek表示以头部向后seek字节作为起点,-seek表示以尾部向前seek字节作为起点。

$ xxd -s 3 hello.txt 00000003: 6c6f 2077 6f72 6c64 2031 0a68 656c 6c6f  lo world 1.hello00000013: 2077 6f72 6c64 2032 0a                    world 2.
$ xxd -s -3 hello.txt 00000019: 2032 0a                                   2.
-u

使用大写的16进制

$ xxd -u hello.txt 00000000: 6865 6C6C 6F20 776F 726C 6420 310A 6865  hello world 1.he00000010: 6C6C 6F20 776F 726C 6420 320A            llo world 2.
-v | -version

显示版本信息。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » unix常用命令手册 – xxd 查看十六进制

发表回复