如何以十六进制打印文件的前 10 个字节?

tec*_*fun 15 linux bash command-line linux-mint

我需要从 linux mint 命令提示符以十六进制打印文件的前 10 个字节。

谁能帮我?

谢谢

eri*_*rik 14

选项-l <len> | -len <len>用于:写入<len>八位字节后停止。

FILE像这样使用它:

xxd -l 10 FILE
Run Code Online (Sandbox Code Playgroud)

或者

hexdump -C -n 10 FILE
Run Code Online (Sandbox Code Playgroud)

where与 xxd 中-n <len>-l <len>选项相同。


Jde*_*eBP 14

我来到这里是看到三个答案,认为我没有什么可补充的,这将是一个练习,有多少人可以在提出问题的第一分钟内发布相同的 1-liner。但我发现人们使用一些新奇的hexdump工具。该命令的方式要比2个字母长; 它暗指除了 The One True Base(基数 8)之外的一些基数;从它的名字就可以看出它的作用。显然这不是 Unix 方式。

所以这就是od(“八进制转储”)的乐趣。

首先是 GNU,正如您将在 Linux Mint 上找到的那样:

od --format=x1 --read-bytes=10 foo
Run Code Online (Sandbox Code Playgroud)

现在是 BSD,具有讽刺意味的是,它实际上与以下程序相同hexdump

od -t x1 -N 10 foo
Run Code Online (Sandbox Code Playgroud)


Dan*_*eck 5

你可以用它xxd来做到这一点。

$ xxd -ps -l 10 FILENAME
546865204d4954204c69
Run Code Online (Sandbox Code Playgroud)

此打印头10字节(-l 10的)FILENAME以纯十六进制格式(-ps)。