如何从bash查看二进制文件?

ada*_*m_0 255 binary bash shell

我想查看当前目录中文件的内容,但是从命令行以二进制形式查看.我怎样才能做到这一点?

Emi*_*ool 437

xxd同时执行二进制和十六进制

斌:

xxd -b file
Run Code Online (Sandbox Code Playgroud)

十六进制:

xxd file
Run Code Online (Sandbox Code Playgroud)

  • `sudo xxd/dev/diskn | less`现在是我最喜欢的东西. (11认同)
  • ...它预装在Mac OS X和Linux上. (5认同)

tyr*_*nid 172

hexdump -C yourfile.bin
Run Code Online (Sandbox Code Playgroud)

除非你想编辑它当然.大多数Linux发行版hexdump默认都有(但显然不是全部).

  • 我需要确保我的文件正确压缩,我不知道它应该是什么样的十六进制(每个单元的大小是7位),所以我必须手动处理数字. (3认同)
  • `hexdump -C` 不显示二进制输出。这并不能回答问题。 (3认同)

Duc*_*uck 67

vi your_filename
Run Code Online (Sandbox Code Playgroud)

击中 esc

键入:%!xxd以查看十六进制字符串,将n :%!xxd -r返回到正常编辑.


Jim*_*son 25

作为一个后备,总有 od -xc filename


小智 11

sudo apt-get install bless

Bless是GUI工具,可以查看,编辑,搜索等等.它的重量很轻.


小智 8

如果要打开二进制文件(在CentOS 7中):

strings <binary_filename>
Run Code Online (Sandbox Code Playgroud)

  • 它不会将其转换为 JSON 文件。它只查找对象中的可打印字符串并显示给您。它根本不会将二进制文件转换为文本或任何格式。 (3认同)

cad*_*eus 8

Hexyl 格式很好: sudo apt install hexyl

在此输入图像描述


Aal*_*abi 6

$ echo -n 'Hello world!' | hd
00000000  48 65 6c 6c 6f 20 77 6f  72 6c 64 21              |Hello world!|
0000000c
Run Code Online (Sandbox Code Playgroud)

  • hd 是“hexdump -C”的别名...? (2认同)