English

readlink — 심볼릭 링크 대상 확인

Linux / 파일 및 디스크 관리 / readlink.html

파일 및 디스크 관리원문등록 2026-10-20T09:00:00+09:00

심볼릭 링크가 가리키는 경로를 출력하고 -f로 전체 경로를 해석합니다.

기본 정보

명령어 이름readlink
한 줄 소개심볼릭 링크가 가리키는 경로를 출력하고 -f로 전체 경로를 해석합니다.
제공GNU coreutils (모든 Linux 배포판 기본 탑재)
공식 문서https://man7.org/linux/man-pages/man1/readlink.1.html
지원 운영체제Linux, macOS, BSD, WSL
설치 여부기본 탑재 (별도 설치 불필요)
분류리눅스 파일·디스크 관리 (태그: 심볼릭 링크, 경로, 링크)

이 명령어는 무엇인가?

readlink는 심볼릭 링크 자체를 읽어 가리키는 대상을 출력합니다. -f를 주면 중간 링크까지 모두 해석한 절대 경로를 만듭니다.

realpath와 비슷하지만 readlink는 링크 대상 문자열을 그대로 보여 주는 동작이 기본이라는 차이가 있습니다.

어떤 문제를 해결하는가?

  • 링크가 가리키는 대상을 확인할 때
  • 스크립트에서 자기 자신의 실제 경로를 구할 때
  • 링크 체인을 따라 최종 경로를 얻을 때
  • 링크 여부를 판별할 때

주요 기능

링크 대상 출력

링크가 저장한 대상 문자열을 보여 줍니다.

  • 활용 상황: 링크 구성을 확인할 때
  • 얻는 결과: 대상 경로 문자열
  • 제한 사항: 상대 링크는 상대 경로 그대로 나옵니다.

전체 경로 해석

-f 옵션으로 모든 링크를 따라 절대 경로를 만듭니다.

  • 활용 상황: 스크립트 위치를 정확히 알 때
  • 얻는 결과: 해석된 절대 경로
  • 제한 사항: 마지막 요소가 없으면 실패합니다.

정규화만 수행

-m 옵션은 존재 여부와 무관하게 경로를 정규화합니다.

  • 활용 상황: 아직 없는 파일의 경로를 다룰 때
  • 얻는 결과: 정규화된 경로
  • 제한 사항: 실제 링크 여부는 검사하지 않습니다.

설치 및 실행

설치 여부 확인

readlink --version

sudo apt install coreutils # Debian/Ubuntu sudo dnf install coreutils # Fedora

실제 사용 예제

링크 대상 확인

링크가 가리키는 경로를 출력합니다.

readlink /usr/bin/awk

스크립트 실제 경로

링크로 실행해도 실제 파일 경로를 얻습니다.

SCRIPT=$(readlink -f "$0")
echo "$SCRIPT"

경로 정규화

존재하지 않아도 경로를 정리합니다.

readlink -m ./build/../dist/app.tar.gz