曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3888|回复: 0
打印 上一主题 下一主题

xxd -- 对输入内容或文件进行 hexdump 转换

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2012-8-24 11:55:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
xxd 命令可以输入内容或文件进行 hexdump 转换,反之也可以将转换过的文件进行还原。

可以直接运行 xxd 命令,那么接着可以输出要转换的内容,完后按下 Ctrl + d 组合键,最后转换结果就会显示出来:
[beyes@beyes   man]$ xxd
www.groad.net         #输入完后按下 Ctrl + d 组合键
0000000: 7777 772e 6772 6f61 642e 6e65 740a       www.groad.net.
上面输出中,没两个字节一个段,如 772e 分别是 w 和 '.' 符号的 ASCII 十六进制码。后面的 0a 是表示的是回车换行,因为只有在回车换行后,才能按下 Ctrl + d 键。

可以直接将管道里的输入进行转换并输出:
$ echo "www.groad.net" | xxd
0000000: 7777 772e 6772 6f61 642e 6e65 740a       www.groad.net.

使用 -r 选项可以将已经转换的结果还原回原来的内容:
$ echo "www.groad.net" | xxd |xxd -r
www.groad.net

使用 -b 选项可以选择以二进制的形式打印转换结果:
$ echo "hello" | xxd -b
0000000: 01101000 01100101 01101100 01101100 01101111 00001010  hello.

可以使用 -c 选项指定一个转换行显示多少个字节:
$ echo "www.groad.net" | xxd -c8
0000000: 7777 772e 6772 6f61  www.groa
0000008: 642e 6e65 740a       d.net.
需要注意的是,-c8 和 -c 8 (中间有空格) 两种写法都是对的。

使用 -p 选项可以以平滑式十六进制风格输出:
[beyes@beyes   man]$ echo "www.groad.net" | xxd -p
7777772e67726f61642e6e65740a
如果你相对某个转换结果进行一些特殊的操作,如加密,转换,这种方式可能会比较有用。

使用 -s 选项可以从偏移处开始转换:
$ echo "www.groad.net" | xxd -s+5
0000005: 726f 6164 2e6e 6574 0a                   road.net.
上面 -s 后面的 '+' 号表示正方向偏移,也可以使用 '-'  符号往负方向偏移。

更多选项参考 man 手册。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-18 19:50 , Processed in 0.105298 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表