Linux xxd命令详解 |
您所在的位置:网站首页 › 反向输出啥意思 › Linux xxd命令详解 |
转载: https://www.sohu.com/a/334140700_354899 https://www.cnblogs.com/openix/archive/2012/04/23/2466320.html xxd
xxd命令可以为给定的标准输入或者文件做一次十六进制的输出,它也可以将十六进制输出转换为原来的二进制格式,即将任意文件转换为十六进制或二进制形式 如果没有给定输入文件,标准输入就作为输入文件infile。如果infile是一个‘-' 字符,也从标准输入读入。如果没有给定outfile (或者它的文件名是一个‘-'字符), 结果将输出至标准输出。 -a | -autoskip 打开/关闭 autoskip: 用一个单独的 '*' 来代替空行。默认关闭。 -b | -bits 转到比特(二进制数字)模式,而不是十六进制模式。在这种模式下,每个字符被表示成八个0/1的数字, 而不是一般的十六进制形式。每一行都以一个用十六进制形式表示的行号,后面是 ascii (或ebcdic)形式开头。命令行选项-r, -p, -i在这个模式下不起作用。 -c cols | -cols cols -c cols | -cols cols每行表示个字符。 默认 16 (-i: 12, -ps: 30, -b: 6)。 最多256。 -g bytes | -groupsize bytes 每个字符(每两个十六进制字符或者八个二进制数字)之间用一个空格隔开。用 -g 0禁止分组。在普通模式中默认是2,在二进制模式中是1。分组并不适用于postscript 或者include style 选项。 -h | -help 显示可用命令概述并且退出。不做其它任何事情。 -i | -include 输出为C语言的包含文件形式。 除非xxd从标准输入读入,不然会输出一个完整的静态数组定义(与输入文件同名)。 -l len | -len len 输出个字符后停止。 -p | -ps | -postscript | -plain 以postscript的连续十六进制转储输出。这也叫做纯十六进制转储。 -r | -revert 逆向操作:把十六进制转储转换(或者打补丁)成二进制形式。如果不输出到标准输出,xxd并不把输出文件截断,而是直接写到输出文件。用 -r -p 来从一个没有行号没有某种列格式的纯十六进制转储读入。附加的空格 和换行可以出现在任何地方。 -seek offset 用在-r之后: 会在 当前 文件的 偏移量 上 增加 。 -s [+][-]seek 从infile的绝对或者相对偏移量开始。+表示相对于标准输入当前的位置(如果不是标准输入就没有意义了)。- 表示从文件末尾(如果和+连用:从标准输入当前位置)向前数一些字符,从那个地方开始。如果没有 -s选项,xxd从当前位置开始。 -u 用大写字母。默认的是小写字母。 -v | -version 显示版本字符串。 例: 将文件内容转换为十六进制: xxd secret.txt 使用xxd跳过第n行,想要从第6行开始生成十六进制转储(0x50表示第6行,0x00表示第1行)xxd -s 0x50 secret.txt 将输出限制为特定长度,从第一行(0x00)打印到第5行(0x40)xxd -l 0x50 secret.txt 将文件内容转换为二进制文件:xxd -b secret.txt 设置列长,默认列长度为16,即16个字符,包括空格,将列长度设置为9:现在我们将列长度设置为“9”:xxd -c 9 secret.txt 纯16进制转储,输出保存在hex文件中,并使用cat命令从hex文件中读取输出:xxd -p secret.txt > hex cat hex 还原hex文件,将纯十六进制转储的反向输出打印为了ASCII格式:xxd -r -p hex 分组大小字节,将输出分组为多少个八位字节,默认是2个字节,接下来设为8,即8个字节一组,分为2组:xxd -g 8 secret.txt
更多的组合格式: xxd -l 0x30 -g 8 secret.txt xxd -l 0x40 -c 9 secret.txt |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |