개요
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` 등으로 경로 존재 여부를 먼저 확인하는 것이 좋습니다.