> 파일 및 디렉토리 관리 > realpath

realpath: 실제 경로 확인

realpath 명령어는 심볼릭 링크를 따라가고, `.` 또는 `..`와 같은 상대 경로 요소를 제거하여 파일이나 디렉토리의 절대 경로를 출력합니다. 이는 스크립트에서 정확한 파일 위치를 파악하거나, 복잡한 경로를 단순화할 때 유용합니다.

개요

realpath는 주어진 경로의 모든 심볼릭 링크를 해석하고, 상대 경로 요소를 제거하여 표준화된 절대 경로를 반환합니다. 이는 파일 시스템 내에서 객체의 실제 위치를 정확하게 파악하는 데 필수적입니다.

주요 기능

  • 심볼릭 링크 해석
  • 상대 경로를 절대 경로로 변환
  • 경로 정규화 (예: `//`, `/./`, `/../` 제거)

주요 옵션

realpath 명령어는 경로 해석 방식을 제어하는 몇 가지 유용한 옵션을 제공합니다.

경로 처리 옵션

생성된 명령어:

명령어를 조합해 보세요.

설명:

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

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

사용 예시

realpath 명령어의 다양한 활용 예시입니다.

현재 디렉토리의 절대 경로 확인

realpath .

현재 작업 디렉토리의 실제 절대 경로를 출력합니다.

특정 파일의 실제 절대 경로 확인

realpath my_document.txt

지정된 파일의 실제 절대 경로를 출력합니다.

심볼릭 링크의 실제 대상 경로 확인

ln -s /etc/hosts myhosts
realpath myhosts

심볼릭 링크가 가리키는 실제 파일 또는 디렉토리의 절대 경로를 출력합니다. (예시를 위해 심볼릭 링크 생성)

심볼릭 링크를 해석하지 않고 경로 정규화

ln -s /etc/hosts myhosts
realpath -s myhosts

심볼릭 링크를 따라가지 않고, 주어진 경로 자체를 정규화된 형태로 출력합니다.

특정 디렉토리에 대한 상대 경로 출력

realpath --relative-to=/home/user /home/user/documents/report.pdf

지정된 기준 디렉토리(`--relative-to`)에 대한 대상 경로의 상대 경로를 출력합니다.

팁 & 주의사항

realpath는 스크립트에서 경로의 불확실성을 제거하고, 보안 및 정확성을 높이는 데 매우 유용합니다.

경로 정규화의 중요성

realpath는 `//`, `/./`, `/../`와 같은 불필요한 경로 요소를 자동으로 제거하여 가장 간결하고 정확한 절대 경로를 제공합니다. 이는 스크립트에서 경로 비교나 파일 접근 시 발생할 수 있는 오류를 줄여줍니다.

xargs와 함께 사용

find . -type f -print0 | xargs -0 realpath -z

여러 파일의 실제 경로를 처리할 때 `-z` 옵션을 `xargs -0`와 함께 사용하면 파일 이름에 공백이나 특수 문자가 포함되어 있어도 안전하게 처리할 수 있습니다.

존재하지 않는 경로 처리

realpath는 기본적으로 경로가 존재해야만 작동합니다. 존재하지 않는 경로에 대해 실행하면 오류를 반환합니다. 스크립트에서 이를 처리하려면 `-q` 옵션을 사용하여 오류 메시지를 억제하거나, `test -e` 등으로 경로 존재 여부를 먼저 확인하는 것이 좋습니다.


동일 카테고리 명령어