我想在当前目录中查看文件的内容,但是从命令行以二进制文件查看。我怎样才能做到这一点?
答案 0 :(得分:400)
xxd同时执行二进制和十六进制
仓:
xxd -b file
己烷:
xxd file
答案 1 :(得分:166)
hexdump -C yourfile.bin
除非您想要编辑它。大多数Linux发行版默认都有hexdump
(但显然不是全部)。
答案 2 :(得分:65)
vi your_filename
点击 esc
键入:%!xxd
以查看十六进制字符串,n :%!xxd -r
返回正常编辑。
答案 3 :(得分:25)
作为后备,总是od -xc filename
答案 4 :(得分:11)
sudo apt-get install bless
Bless是GUI工具,可以查看,编辑,搜索等等。 它重量很轻。
答案 5 :(得分:6)
如果要打开二进制文件(在CentOS 7中):
cv2.imwrite('mask.png',img)
答案 6 :(得分:3)
答案 7 :(得分:2)
$ echo -n 'Hello world!' | hd
00000000 48 65 6c 6c 6f 20 77 6f 72 6c 64 21 |Hello world!|
0000000c
答案 8 :(得分:2)
您可以打开emacs(在终端模式下,例如使用emacs -nw
),然后使用Hexl模式:M-x hexl-mode
。
https://www.gnu.org/software/emacs/manual/html_node/emacs/Editing-Binary-Files.html
答案 9 :(得分:1)
将文件转换为二进制代码(十六进制表示),我们说:
xxd filename #
例如:
xxd hello.c #
要查看二进制文件中的所有内容和代码,我们可以使用readelf
和objdump
,hexdump
,...等命令。
例如,如果我们要查看所有转换二进制文件(可执行文件,共享库,目标文件)的所有内容,我们说:
hexdump binaryfilename
例如
hexdump /bin/bash
但是readelf是分析elf(可执行和链接格式)文件的最佳工具。所以如果我们说:
readelf -a /bin/bash
二进制文件bash中的所有内容都将显示给我们,我们还可以为readelf提供不同的标志,以分别查看elf文件的所有节和标题,例如,如果我们只想查看elf标题,说:
readelf -h /bin/bash
用于读取文件的所有段:
readelf -l /bin/bash
用于读取文件的所有部分:
readelf -S /bin/sh
但还是作为总结,为了读取普通文件(例如“ hello.c”)和二进制文件(如bash)在Linux的/ bin / bash路径中,我们说:
xxd hello.c
readelf -a /bin/bash
答案 10 :(得分:0)
您可以使用hexdump二进制文件
sudo apt-get install hexdump
hexdump -C yourfile.bin
答案 11 :(得分:0)
答案 12 :(得分:0)
以十六进制在一行中获取全部输出:
xxd -p yourfile.bin | tr -d '\n'