linux xxd命令(查看文件内容、查看文件信息)(将文件或标准输入转换为hex(十六进制)和ASCII(美国信息交换标准代码)表示,或者从hex dump(十六进制转储)反向到二进制)

您所在的位置:网站首页 网盘如何输入提取码查看文件信息内容 linux xxd命令(查看文件内容、查看文件信息)(将文件或标准输入转换为hex(十六进制)和ASCII(美国信息交换标准代码)表示,或者从hex dump(十六进制转储)反向到二进制)

linux xxd命令(查看文件内容、查看文件信息)(将文件或标准输入转换为hex(十六进制)和ASCII(美国信息交换标准代码)表示,或者从hex dump(十六进制转储)反向到二进制)

2024-07-09 09:43| 来源: 网络整理| 查看: 265

文章目录 Linux xxd命令安装xxd基本使用方法创建hex dump从hex dump恢复到二进制 命令选项疑难技术点解析在脚本中使用xxd从hex dump恢复数据 其他应用查看视频文件信息 总结

Linux xxd命令

xxd是一个在Linux和UNIX系统中常用的工具,主要用于将文件或标准输入转换为hex(十六进制)和ASCII(美国信息交换标准代码)表示。该命令同时也提供了从hex dump(十六进制转储)反向到二进制的功能。

安装xxd

通常情况下,xxd命令默认已经包含在大多数Linux发行版中。如果操作系统中没有这个命令,可以通过以下命令进行安装:

sudo apt-get install vim-common

或者

yum install vim-common

这两个命令分别适用于基于Debian和基于Red Hat的Linux发行版。

基本使用方法 创建hex dump

xxd命令最常见的用法是创建一个文件的hex dump。例如,可以使用以下命令来查看文件"example.txt"的hex dump:

xxd example.txt

这会将文件的内容转化为十六进制,并显示每一行的偏移量(offset)。

在这里插入图片描述

从hex dump恢复到二进制

xxd命令还有一个很重要的功能就是可以从hex dump恢复到二进制。只需要使用-r选项,例如:

xxd -r example.txt.hex > example.txt

其中,example.txt.hex是由xxd命令生成的hex dump文件,example.txt则是恢复出的二进制文件。

示例:

root@ubuntu:/userdata/20231130_ffmpegTest/test20231210# root@ubuntu:/userdata/20231130_ffmpegTest/test20231210# cat example.txt.hex 00000000: e5a5 bde6 97a5 e5ad 90e8 bf98 e59c a8e5 00000010: 908e e5a4 b4e5 91a2 efbc 810a root@ubuntu:/userdata/20231130_ffmpegTest/test20231210# root@ubuntu:/userdata/20231130_ffmpegTest/test20231210# xxd -r example.txt.hex 好日子还在后头呢! root@ubuntu:/userdata/20231130_ffmpegTest/test20231210#

在这里插入图片描述

命令选项

以下是xxd命令常用的一些选项:

-p 或 --ps:将输出结果以连续hexdump的方式显示,不会显示偏移量或原始的字符数据。-r 或 --revert:从hex dump反向到二进制。-s 或 --seek :从指定的偏移量开始进行操作。-l 或 --len :只处理指定长度的输入数据。-c 或 --cols :设置每行显示的列数。

例如,要查看一个二进制文件中从第100个字节开始的16个字节的hex dump,可以使用如下命令:

xxd -s 100 -l 16 binaryfile

在这里,-s 100告诉xxd从第100个字节开始,-l 16表示只查看16个字节。

示例:

在这里插入图片描述

疑难技术点解析 在脚本中使用xxd

xxd命令通常在shell脚本中使用,作为数据处理的一部分。例如,在分析网络协议或文件格式时,可以用xxd来转换和查看二进制数据。

这种情况下,通常会将xxd的输出重定向到一个文件,或者通过管道传递给其他命令进行进一步处理。例如,以下命令会创建一个hex dump,并使用grep命令查找包含"abcdef"的行:

xxd binaryfile | grep 'abcdef'

示例:

在这里插入图片描述

从hex dump恢复数据

虽然xxd -r可以从hex dump恢复到二进制,但这要求输入的格式必须是xxd能够识别的。如果hex dump的格式与xxd的输出格式不同,可能需要先进行转换。

例如,如果hex dump是连续的,没有偏移量或原始的字符数据,可以使用xxd -r -p来恢复。在这里,-p选项告诉xxd忽略任何非hex字符。

echo '48656c6c6f' | xxd -r -p

上面的命令将输出"Hello",因为"48656c6c6f"是"Hello"在ASCII中的十六进制表示。

在这里插入图片描述

其他应用 查看视频文件信息 xxd -l 100 groundhog_h264.mp4

在这里插入图片描述

总结

xxd是一个功能强大的工具,对于处理和分析二进制数据来说非常有用。尽管它的用法看起来可能有些复杂,但只需要理解了基本的操作和选项,就能够灵活地应对各种情况。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3