> 패키지 및 시스템 관리 > readelf

readelf: ELF 파일 정보 표시

readelf 명령어는 ELF(Executable and Linkable Format) 형식의 실행 파일, 공유 라이브러리, 오브젝트 파일 등에 대한 상세 정보를 분석하고 표시하는 데 사용됩니다. 이 정보에는 헤더, 섹션, 심볼 테이블, 동적 링크 정보 등이 포함됩니다.

개요

readelf는 ELF 파일을 구성하는 다양한 요소들을 사람이 읽을 수 있는 형태로 보여줍니다. 개발자나 시스템 관리자가 바이너리 파일의 구조를 이해하고 디버깅하는 데 필수적인 도구입니다.

주요 기능

readelf가 제공하는 핵심 정보 유형입니다.

  • ELF 헤더 정보 확인
  • 섹션 헤더 정보 확인
  • 심볼 테이블 분석
  • 동적 링크 정보 표시
  • 릴로케이션 정보 확인
  • 프로그램 헤더 (세그먼트) 정보 확인

주요 옵션

readelf는 ELF 파일의 특정 부분을 검사하기 위한 다양한 옵션을 제공합니다.

정보 유형 선택

생성된 명령어:

명령어를 조합해 보세요.

설명:

`readelf` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

readelf를 사용하여 ELF 파일의 다양한 정보를 추출하는 방법을 보여줍니다.

ELF 헤더 정보 보기

readelf -h /bin/ls

/bin/ls 실행 파일의 ELF 헤더 정보를 표시합니다.

섹션 헤더 정보 보기

readelf -S /bin/bash

/bin/bash 실행 파일의 모든 섹션 헤더 정보를 표시합니다.

심볼 테이블 정보 보기

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

공유 라이브러리인 libc.so.6의 심볼 테이블 정보를 표시합니다. (경로는 시스템마다 다를 수 있습니다.)

모든 정보 보기

readelf -a /usr/bin/vim

/usr/bin/vim 실행 파일에 대한 모든 ELF 관련 정보를 표시합니다.

팁 & 주의사항

readelf 사용 시 유용한 팁과 주의할 점입니다.

적용 가능한 파일

readelf는 실행 파일뿐만 아니라 `.o` (오브젝트 파일), `.so` (공유 라이브러리), `.a` (아카이브) 등 모든 ELF 형식 파일에 적용할 수 있습니다.

  • 실행 파일 (예: /bin/ls)
  • 공유 라이브러리 (예: /lib/x86_64-linux-gnu/libc.so.6)
  • 오브젝트 파일 (예: 컴파일 후 생성되는 .o 파일)

다른 도구와의 비교

ELF 파일 분석을 위한 다른 유틸리티들과의 차이점입니다.

  • objdump: 어셈블리 코드를 포함한 더 로우레벨의 정보를 제공하며, 바이너리 파일을 역어셈블링하는 데 유용합니다.
  • nm: 주로 심볼(함수, 변수) 정보에 특화되어 있으며, 심볼의 타입과 주소를 간결하게 보여줍니다.
  • ldd: 실행 파일이나 공유 라이브러리가 의존하는 동적 라이브러리 목록을 보여줍니다.

동일 카테고리 명령어