Home > Package & System Management > readelf

readelf: Display Information About ELF Files

The readelf command is used to analyze and display detailed information about executable files, shared libraries, object files, and other files in the ELF (Executable and Linkable Format). This information includes headers, sections, symbol tables, and dynamic linking information.

Overview

readelf presents the various components of an ELF file in a human-readable format. It is an essential tool for developers and system administrators to understand the structure of binary files and for debugging purposes.

Key Features

The core types of information provided by readelf.

  • View ELF header information
  • View section header information
  • Analyze symbol tables
  • Display dynamic linking information
  • Check relocation information
  • View program header (segment) information

Key Options

readelf offers various options to inspect specific parts of an ELF file.

Information Type Selection

Generated command:

Try combining the commands.

Description:

`readelf` Executes the command.

Combine the above options to virtually execute commands with AI.

Usage Examples

Demonstrates how to extract various information from ELF files using readelf.

View ELF Header Information

readelf -h /bin/ls

Displays the ELF header information for the /bin/ls executable.

View Section Header Information

readelf -S /bin/bash

Displays all section header information for the /bin/bash executable.

View Symbol Table Information

readelf -s /lib/x86_64-linux-gnu/libc.so.6

Displays symbol table information for the shared library libc.so.6. (Path may vary by system.)

View All Information

readelf -a /usr/bin/vim

Displays all ELF-related information for the /usr/bin/vim executable.

Tips & Notes

Useful tips and points to consider when using readelf.

Applicable Files

readelf can be applied not only to executable files but also to all ELF format files such as .o (object files), .so (shared libraries), and .a (archives).

  • Executable files (e.g., /bin/ls)
  • Shared libraries (e.g., /lib/x86_64-linux-gnu/libc.so.6)
  • Object files (e.g., .o files generated after compilation)

Comparison with Other Tools

Differences compared to other utilities for ELF file analysis.

  • objdump: Provides lower-level information including assembly code and is useful for disassembling binary files.
  • nm: Primarily specialized for symbol (function, variable) information, concisely showing symbol types and addresses.
  • ldd: Displays the list of dynamic libraries that an executable or shared library depends on.

Same category commands