我想从命令行以二进制形式查看当前目录中文件的内容。如何实现?
emacs -nw
),然后使用Hexl模式:M-x hexl-mode
。
https://www.gnu.org/software/emacs/manual/html_node/emacs/Editing-Binary-Files.html
将文件转换为其二进制代码(十六进制表示),我们说:
xxd filename #
e.g:
xxd hello.c #
readelf
、objdump
、hexdump
等命令。hexdump binaryfilename
e.g.
hexdump /bin/bash
但是readelf是分析ELF(可执行和链接格式)文件的最佳工具。因此,如果我们说:
readelf -a /bin/bash
我们可以使用readelf命令来查看二进制文件bash的所有内容,同时我们还可以提供不同的标志来分别查看elf文件的所有节和头部,例如,如果我们只想查看elf头部,我们可以这样说:
readelf -h /bin/bash
读取文件的所有段落:
readelf -l /bin/bash
读取文件的所有部分:
readelf -S /bin/sh
再次总结一下,对于在Linux中读取普通文件(如“hello.c”)和二进制文件(如路径为/bin/bash的bash)我们可以这样说:
xxd hello.c
readelf -a /bin/bash
您可以使用hexdump二进制文件
sudo apt-get install hexdump
hexdump -C yourfile.bin