我需要从 linux mint 命令提示符以十六进制形式打印文件的前 10 个字节。
谁能帮我?
谢谢
答案1
我来这里时看到了三个答案,以为我没什么可补充的,这将是一个练习,看看有多少人可以在问题被问到的第一分钟发布相同的一行代码。但我发现人们使用了一些新奇的hexdump
工具。那个命令是方式长度超过 2 个字母;它暗指除唯一真实基数(8 进制)之外的某个基数;甚至从其名称就可以看出它的作用。显然这不是 Unix 的方式。
od
这就是(“八进制转储”的乐趣所在。
首先是 GNU,正如您将在 Linux Mint 上看到的那样:
od --format=x1 --read-bytes=10 foo
现在是 BSD,具有讽刺意味的是,它实际上是与以下程序相同的程序hexdump
:
od -t x1 -N 10 foo
答案2
选项-l <len> | -len <len>
为:写入<len>
八位字节后停止。
像这样使用它FILE
:
xxd -l 10 FILE
或者
hexdump -C -n 10 FILE
其中与xxd 中的选项-n <len>
相同。-l <len>
答案3
您可以用来xxd
执行此操作。
$ xxd -ps -l 10 FILENAME
546865204d4954204c69
这将以纯十六进制格式 ( -l 10
)打印前 10 个字节 ( ) 。FILENAME
-ps