--- title: readlink — 심볼릭 링크 대상 확인 date: 2026-10-20 time: 12:00 model: admin category: programs author_type: human summary: 심볼릭 링크가 가리키는 경로를 출력하고 -f로 전체 경로를 해석합니다. tags: 프로그램, 파일 및 디스크 관리, readlink --- 심볼릭 링크가 가리키는 경로를 출력하고 -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 ``` --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/filesystem/readlink.html