Linux -- xxd (转)

linux xxd命令

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

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

常用选项:

-b


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

-h

显示帮助信息后退出。

-l N

只输出 N 个字符。

-ps

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

-r

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

-seek offset

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

-s [+][-]seek


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

-u

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

使用范例:(摘自xxd man page)

显示 file 除了 前 三行 (十六进制 的 0×30) 的 所有 内容.

xxd -s 0×30 file

显示 file 最后 三行 (十六进制 的 0×30) 的 所有 内容.

xxd -s -0×30 file

显示 120 个 字符, 每行 20 个 字符, 连续 显示.

xxd -l 120 -ps -c 20 xxd.1
2e544820585844203120224d616e75616c207061
676520666f7220787864220a2e5c220a2e5c2220
32317374204d617920313939360a2e5c22204d61
6e207061676520617574686f723a0a2e5c222020
2020546f6e79204e7567656e74203c746f6e7940
7363746e7567656e2e7070702e67752e6564752e

显示 120 个 字符, 每行 12 个 字符.

xxd -l 120 -c 12 xxd.1
0000000: 2e54 4820 5858 4420 3120 224d .TH XXD 1 “M
000000c: 616e 7561 6c20 7061 6765 2066 anual page f
0000018: 6f72 2078 7864 220a 2e5c 220a or xxd”..\”.
0000024: 2e5c 2220 3231 7374 204d 6179 .\” 21st May
0000030: 2031 3939 360a 2e5c 2220 4d61 1996..\” Ma
000003c: 6e20 7061 6765 2061 7574 686f n page autho
0000048: 723a 0a2e 5c22 2020 2020 546f r:..\” To
0000054: 6e79 204e 7567 656e 7420 3c74 ny Nugent 
0000060: 6f6e 7940 7363 746e 7567 656e [email protected]
000006c: 2e70 7070 2e67 752e 6564 752e .ppp.gu.edu.

只 显示 xxd.1 中 的 日期.

xxd -s 0×28 -l 12 -c 12 xxd.1
0000028: 3231 7374 204d 6179 2031 3939 21st May 199

把 input_file 考到 output_file 并 在 前面 增加 100 个 字节的 0×00.

xxd input_file | xxd -r -s 100 > output_file

给 档桉 xxd.1 中的 日期 打 补钉.

echo ‘0000029: 3574 68′ | xxd -r – xxd.1
xxd -s 0×28 -l 12 -c 12 xxd.1
0000028: 3235 7468 204d 6179 2031 3939 25th May 199

建立 一个 65537 字节的 档桉, 所有 字节 都是 0×00, 除了 最后 一个 字节 是 ‘A’ (十六进制 0×41).

echo ‘010000: 41′ | xxd -r > file

打开 autoskip, 显示 上例 中 建立的 档桉.

xxd -a -c 12 file
0000000: 0000 0000 0000 0000 0000 0000 …………
*
000fffc: 0000 0000 40 ….A

建立 一个 只 含有 一个 ‘A’ 的 档桉. ‘-r -s’ 后面 的数字 同 档桉 中的 行号 相 抵消; 结果是 开头 的 字节 被跳过了.

echo ‘010000: 41′ | xxd -r -s -0×10000 > file

从 串行线 中 读入 一个个的 单独的 字符.

xxd -c1 < /dev/term/b &
stty < /dev/term/b -echo -opost -isig -icanon min 1
echo -n foo > /dev/term/b

转自http://zhan.renren.com/program?gid=3602888498030132574&checked=true

时间: 2024-10-06 00:53:16

Linux -- xxd (转)的相关文章

Linux -- xxd 整理自man 手册 (MARK)

XXD(1)                                                        General Commands Manual                                                        XXD(1) NAME       xxd - make a hexdump or do the reverse. SYNOPSIS       xxd -h[elp]       xxd [options] [inf

Linux xxd命令

一.简介 xxd 命令用于使用二进制或十六进制格式显示文件内容,可以将指定文件或标准输入以十六进制转储,也可以把十六进制转储转换成原来的二进制形式. 二.选项 http://www.cnblogs.com/kwliu/p/3709707.html 三.实例 http://blog.csdn.net/lcz_ptr/article/details/7737359

Some Tips

1 md5不能加密数组,所以就会返回Null,而Null===Null 2 phps为.php源代码文件 3 在浏览器中提交时浏览器会为我们进行一次解码,有时需要2次编码 4 需要绕过eregi和urldecode时,可查询url编码表如admin=>%61dmin=>%2561dmin 5 PHP弱类型的一个特性,当一个整形和一个其他类型行比较的时候,会先把其他类型intval再比. 6 +会被 SQL 解析成空格 7 有时需要对#进行 URL 编码,不然会破坏 SQL 语句的完整性(当然这

linux学习笔记(12)man ascii/cal/xxd/ssh

linux下的命令通常他带有很多的选项,所以看起来较为复杂,但是常用的其实就一两个,所以我们所要记住的就是最常用的用法. 1.man ascii 该命令会打印出八进制.十六进制和十进制的ASCII表,方便在需要时查看. 2.cal 常用参数 cal命令不带参数只显示当前月份的日历. -1      显示一个月的月历(Display single month output. This is the default.) -3      显示系统前一个月,当前月,下一个月的月历(Display pre

在Linux下使用vim配合xxd查看并编辑二进制文件

通常来说文件分为文本和二进制文件两大类,文本文件的编辑很容易,Windows下的notepad.UltraEdit都很好用,二进制文件的编辑在Windows下也有很多工具,UltraEdit也不错,但是Linux下呢?今天终于发现了一个好方法,但是最终出处找不到了. 首先创建一个二进制文件: [[email protected] tmp]$ echo -n "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz" > test

linux 命令 xxd

xxd,可以查看linux下文件的二进制表示,man一下xxd,可以得到以下信息 NAME xxd - make a hexdump or do the reverse. SYNOPSIS xxd -h[elp] xxd [options] [infile [outfile]] xxd -r[evert] [options] [infile [outfile]] DESCRIPTION xxd  creates  a hex dump of a given file or standard in

Linux入门之VIM快捷使用

Linux入门之VIM快捷使用 简介: 文本编辑器,字处理器,类似nano 字符全屏编辑器,而sed 为行编辑器 来源: vi : Visual Interface vim: VI iMprpbed    (vi的增强版) 全屏编辑器,模式编辑器 vim模式: 1.编辑模式(命令模式) 2.输入模式 3.末行模式 模式转换: 1.编辑-->输出: i:在当前关标所在字符的前面,转为输入模式 a: 在当前关标所在字符的后面,转为输入模式 o: 在当前关标所在字符的下方,新建一行,并转为输入模式 I

处理文本的工具sed,vim 编辑器的使用 &nbsp; Linux版

处理文本的工具sed Stream EDitor 行编辑器 sed一次处理一行的内容,处理时,将当前处理的行存储在临时缓冲区,称为"模式空间",接着用sed命令处理缓冲区中的内容,处理完成后,将缓冲区的内容送往屏幕,接着处理下一行不断重复,直到末尾. 一次处理一行 文件--->内存空间--->屏幕 模式空间 文件--->内存空间--->屏幕 | 保持空间 sed   -n:不输出模式空间内容的自动打印 -e:多点编辑 -f:/PATH/TO/SCRIPT_FIL

干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾!

1 文件{ ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file # 创建空白文件 rm -rf 目录名 # 不提示删除非空目录(-r:递归删除 -f强制) dos2unix # windows文本转linux文本 unix2dos # linux文本转windows文本 enca filename # 查看编码 安装 yum install -y enca md5sum # 查看md5值 ln 源文件 目标文件 # 硬链接 ln -s 源文件 目标文件 # 符号