Linux 中的 readelf 命令和示例
当我们编译源代码时,会生成程序的目标文件,并在链接器的帮助下,将目标文件转换为只有机器才能理解的二进制文件。这种文件遵循一些结构,其中之一是 ELF(可执行和可链接格式)。并使用readelf命令获取这些 ELF 文件的信息。
使用 readelf 命令和 ELF 文件
1.显示readelf命令的帮助。
$readelf
这将显示命令的帮助部分,其中包含其所有参数及其用途。
2.检查文件是否为ELF文件。
$file elf_file
如果它在输出中打印 ELF,则该文件是一个 ELF 文件。
注意:在我们的例子中,文件名是 elf_file。
3.使用gcc编译器生成elf文件。
$gcc filename.c -o elf_file
上面的命令将生成一个可执行的 elffile。
注意:在我们的例子中,文件名为 filename.c,elf 文件名为 elf_file。
4.显示 elf 文件的文件头。
$readelf -h elf_file
这将显示 elf 文件的顶级标题。
注意:在我们的例子中,elf 文件的名称是 elf_file。
5.显示有关进程地址空间不同部分的信息。
$readelf -S elf_file
这将显示进程地址空间的不同部分。
注意:在我们的例子中,elf 文件的名称是 elf_file。
6.显示符号表。
$readelf -s elf_file
这将显示文件的符号表。
注意:在我们的例子中,elf 文件的名称是 elf_file。
7.显示核心笔记。
$readelf -n elf_files
这将显示与文件相关的核心注释。
注意:在我们的例子中,elf 文件的名称是 elf_file。
8.显示重定位部分。
$readelf -r elf_file
这将显示重新锁定(如果存在)。
注意:在我们的例子中,elf 文件的名称是 elf_file。
9.显示动态部分。
$readelf -d elf_file
这将显示文件的动态部分。
注意:在我们的例子中,elf 文件的名称是 elf_file。
10.获取readelf命令的版本。
$readelf -v
这将显示 readelf 命令的版本信息。