xxd 使用详解

xxd 命令用于用二进制或十六进制显示文件的内容,如果没有指定outfile参数,则把结果显示在屏幕上,如果指定了outfile则把结果输出到 outfile中;如果infile参数为 – 或则没有指定infile参数,则默认从标准输入读入。

 

xxd [options] [infile [outfile]]

    or

xxd -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]

 

简单地说,xxd就是一个二进制文件查看器

 

常用选项:

 

-b

转到 比特(二进制 数字) 模式, 而不是十六进制模式。在这种模式下, 每个字符被表示成八个 0/1 的数字,而不是一般的十六进制形式。每一行都以一个用十六进制形式表示的行号,后面是ascii (或者 ebcdic) 形式开头。命令行选项 -r, -p 在这个模式下不起作用。

 

-h

显示帮助信息后退出。

 

-l N

只输出 N 个字符。

 

-ps

postscript的连续十六进制转储输出,这也叫做纯十六进制转储。

 

-r

逆向操作: xxd的十六进制输出内容转换回原文件的二进制内容。

 

-seek offset

用在 -r 之后: 会在当前文档的 偏移量上增加 .

 

-s [+][-]seek

infile的绝对或者相对偏移量 开始. + 表示相对于标 输入当前的位置 (如果不 标准输入就没有意义了). – 表示从档桉末尾 (如果和 + 连用: 从标准输入当前位置) 向前数一些字符, 从那个地方开始. 如果没有 -s 选项, xxd 从 当前位置开始.

 

-u

十六进制输出时使用大写字母,默认是小写字母

 

示例:

以二进制形式,查看前16个字节,每行显示1个字节:

xxd -b -l 16 -c 1 a.o

 

从第16个字节开始(注:16是下标,起始为0算),显示40个字节,每行显示8个字节:

xxd -s 16 -l 40 -c 8 a.o

 

从第16个字节开始,每行8个,显示40个字节的hex dump

xxd -s 16 -l 40 -c 8 -ps a.o

 

输出最后10个字节内容

xxd -s -10 a.o

 

查看文件时,自动跳过大块的0区域来显示

xxd -a a.o

 

b.txt以十六进制写到c.o

xxd -r -ps b.txt c.o

 

 

最后,有两个小疑问

-i

还没搞明白是什么意思,知道的朋友请告知一下

 

-a

文档好像是说跳过空内容以*代表,试用后没有发现效果

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值