Amazon Best VPN GoSearch

OnWorks 网站图标

xxd

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 xxd

这是 xxd 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


xxd - 做一个十六进制转储或做相反的事情。

概要


xxd -帮助]
xxd [选项] [输入文件 [输出文件]]
xxd -r[evert] [选项] [输入文件 [输出文件]]

商品描述


xxd 创建给定文件或标准输入的十六进制转储。 它还可以转换十六进制转储
回到它原来的二进制形式。 喜欢 uu编码(1)和 解码(1) 它允许
以“邮件安全”ASCII 表示形式传输二进制数据,但具有以下优点
解码到标准输出。 此外,它还可用于执行二进制文件修补。

配置


如果不 入档 给定,读取标准输入。 如果 入档 被指定为`-' 特点,
然后输入取自标准输入。 如果不 输出文件 给出(或`-' 字符在
它的位置),结果被发送到标准输出。

请注意,使用了“惰性”解析器,它不会检查多于第一个选项
字母,除非该选项后跟一个参数。 单个选项之间的空格
字母及其参数是可选的。 选项的参数可以用十进制指定,
十六进制或八进制表示法。 因此 -c8, -c 8, -c 010-列 8 都是等价的。

-a | -自动跳过
切换自动跳过:单个“*”替换空行。 默认关闭。

-b | -位
切换到位(二进制数字)转储,而不是十六进制转储。 这个选项写
八位字节作为八位数字“1”和“0”而不是正常的十六进制转储。 每个
line 前面是一个十六进制的行号,后面是一个 ascii(或
ebcdic) 表示。 命令行开关 -r、-p、-i 不适用于此
模式。

-c | -列
格式> 每行八位字节。 默认 16(-i:12,-ps:30,-b:6)。 最大 256。

-E | -EBCDIC
将右侧列中的字符编码从 ASCII 更改为 EBCDIC。 这个
不改变十六进制表示。 该选项在
与 -r、-p 或 -i 的组合。

-e 切换到小端十六进制转储。 此选项将字节组视为
小端字节序。 可以使用以下方法更改 4 个字节的默认分组 -g.
此选项仅适用于 hexdump,保留 ASCII(或 EBCDIC)表示
不变。 命令行开关 -r、-p、-i 不适用于此模式。

-g 字节 | -组大小 字节
将每个输出分开字节> 字节(两个十六进制字符或八位数字
每个)由一个空格。 指定 -g 0 抑制分组。字节> 默认为 2
在正常模式下, 4 在小端模式和 1 在位模式下。 分组不
适用于附言或包含样式。

-h | -救命
打印可用命令的摘要并退出。 不执行十六进制转储。

-i | -包括
C 中的输出包含文件样式。 写了一个完整的静态数组定义
(以输入文件命名),除非 xxd 从 stdin 读取。

-l LEN | -长度 LEN
写完就停下来LEN> 八位字节。

-o 抵消
添加抵消> 到显示的文件位置。

-p | -ps | -后记 | -普通
以 postscript 连续 hexdump 样式输出。 也称为普通 hexdump 样式。

-r | -恢复
反向操作:将(或修补)hexdump 转换为二进制。 如果不写信给
stdout, xxd 写入其输出文件而不截断它。 使用组合
-r -p 读取没有行号信息和没有行号信息的纯十六进制转储
特定的列布局。 允许额外的空格和换行符
任何地方。

-寻找 抵消
之后使用时 -r: 回复抵消> 添加到在 hexdump 中找到的文件位置。

-s [+][-]寻找
开始于寻求> 字节绝对值。 (或相关)文件内偏移量。 + 表示搜索是
相对于当前的标准输入文件位置(不读取时无意义
标准输入)。 - 表示搜索应该是从末尾开始的那么多字符
输入(或者如果与 +: 在当前标准输入文件位置之前)。 没有
-s 选项,xxd 从当前文件位置开始。

-u 使用大写的十六进制字母。 默认为小写。

-v | -版
显示版本字符串。

洞穴


xxd -r 在评估行号信息时有一些内置的魔法。 如果输出
文件是可查找的,那么每个 hexdump 行开头的行号可能超出
顺序,行可能丢失或重叠。 在这些情况下 xxd 将 寻求(2) 到下一个
位置。 如果输出文件不可搜索,则只允许有间隙,这将被填充
按空字节。

xxd -r 永远不会产生解析错误。 垃圾被默默地跳过。

编辑 hexdumps 时,请注意 xxd -r 之后跳过输入行上的所有内容
读取足够多的十六进制数据列(请参阅选项 -c)。 这也意味着,改变
始终忽略可打印的 ascii(或 ebcdic)列。 恢复平原(或
postscript) 风格的 hexdump 与 xxd -r -p 不依赖于正确的列数。
这里解释了任何看起来像一对十六进制数字的内容。

注意两者的区别
% xxd -i 文件

% xxd -i < 文件

xxd -s +寻求 可能不同于 xxd -s 寻求作为 寻求(2) 用于“倒带”输入。 一种
如果输入源是标准输入,而标准输入的文件位置不是
在文件开始时 xxd 启动并给出其输入。 下列
示例可能有助于澄清(或进一步混淆!)...

阅读前倒带标准输入; 需要,因为“猫”已经读到了结尾
标准输入。
% sh -c “猫 > 普通复制; xxd -s 0 > hex_copy" < 文件

从文件位置 0x480 (=1024+128) 开始的十六进制转储。 `+' 符号的意思是“相对于
当前位置”,因此“128”添加到 dd 停止的 1k。
% sh -c "dd 的=plain_snippet BS=1k 计数=1; xxd -s +128 > hex_snippet" < 文件

从文件位置 0x100 ( = 1024-768) 开始的十六进制转储。
% sh -c "dd 的=plain_snippet BS=1k 计数=1; xxd -s + -768 > hex_snippet" < 文件

然而,这是一种罕见的情况,很少需要使用“+”。 作者更喜欢
监控 xxd 的效果 痕迹(1)或 桁架(1),无论何时使用 -s。

示例


打印除前三行(十六进制 0x30 字节)之外的所有内容 文件.
% xxd -s 0x30 文件

从末尾打印 3 行(十六进制 0x30 字节) 文件.
% xxd -s -0x30 文件

将 120 个字节打印为每行 20 个八位字节的连续十六进制转储。
% xxd -l 120 -ps -c 20 xxd.1
2e54482058584420312022417567757374203139
39362220224d616e75616c207061676520666f72
20787864220a2e5c220a2e5c222032317374204d
617920313939360a2e5c22204d616e2070616765
20617574686f723a0a2e5c2220202020546f6e79
204e7567656e74203c746f6e79407363746e7567

十六进制转储此手册页的前 120 个字节,每行 12 个八位字节。
% xxd -l 120 -c 12 xxd.1
0000000:2e54 4820 5858 4420 3120 2241 .TH XXD 1"A
000000c:7567 7573 7420 3139 3936 2220 1996 年 XNUMX 月"
0000018: 224d 616e 7561 6c20 7061 6765 "手册页
0000024: 2066 6f72 2078 7864 220a 2e5c 为 xxd"..\
0000030: 220a 2e5c 2220 3231 7374 204d "..\" 21st M
000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\"
0000048: 4d61 6e20 7061 6765 2061 7574 手册页 aut
0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\"
0000060:546f 6e79 204e 7567 656e 7420 托尼纽金特
000006c:3c74 6f6e 7940 7363 746e 7567

仅显示文件 xxd.1 中的日期
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036:3231 7374 204d 6179 2031 3939 36 21 年 1996 月 XNUMX 日

复制 输入文件输出文件 并在前面加上 100 个字节的值 0x00。
% xxd 输入文件 | xxd -r -s 100 > 输出文件

修补文件 xxd.1 中的日期
% 回音 “ 0000037: 3574 68“ | xxd -r - xxd.1
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036:3235 7468 204d 6179 2031 3939 36 25 年 1996 月 XNUMX 日

创建一个 65537 字节的文件,所有字节都是 0x00,除了最后一个是“A”(十六进制
0x41)。
% 回音 “ 010000: 41“ | xxd -r > 文件

使用自动跳过十六进制转储此文件。
% xxd -a -c 12 文件
0000000: 0000 0000 0000 0000 0000 0000 ........
*
000ffc: 0000 0000 40 ....A

创建一个包含单个“A”字符的 1 字节文件。 '-r -s' 后面的数字相加
在文件中找到的行号; 实际上,前导字节被抑制。
% 回音 “ 010000: 41“ | xxd -r -s -0x10000 > 文件

在编辑器中使用 xxd 作为过滤器,例如 VIM(1) 十六进制转储标记在“a”之间的区域
和'z'。
:'a,'z!xxd

在编辑器中使用 xxd 作为过滤器,例如 VIM(1) 恢复标记的二进制十六进制转储
在‘a’和‘z’之间。
:'a,'z!xxd -r

在编辑器中使用 xxd 作为过滤器,例如 VIM(1) 恢复一行十六进制转储。
将光标移到该行上并键入:
!!xxd -r

从串行线路读取单个字符
% xxd -c1 < /开发/期限/ b &
% 姿势 < /开发/期限/ b -回声 -反对派 -isig -佳能 分钟 1
% 回音 -n FOO > /开发/期限/ b

返回 王斌金璟閣的價值觀


返回以下错误值:

0 没有遇到错误。

-1 操作不受支持 ( xxd -r -i 仍然不可能)。

解析选项时出现 1 个错误。

2 输入文件问题。

3 输出文件问题。

4,5 所需的搜索位置无法到达。

使用 onworks.net 服务在线使用 xxd


Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。