웹사이트 검색

초보자를 위한 Linux readlink 및 realpath 명령 자습서(예제 포함)


이 페이지에서

  1. Linux realpath 및 readlink 명령
  2. Q1. realpath 및 readlink를 사용하여 경로를 확인하는 방법은 무엇입니까?\n
  3. Q2. 디렉토리를 기준으로 확인된 경로를 인쇄하는 방법은 무엇입니까?\n
  4. Q3. 경로에서 ..를 제거하는 방법은 무엇입니까?\n
  5. Q4. 구분 문자를 변경하는 방법은 무엇입니까?\n
  6. 결론

파일 간의 링크를 생성할 수 있는 ln 명령에 대해 이미 논의했습니다. 그러나 이러한 링크를 해결할 수 있는 도구도 있습니다.

이 자습서에서는 출력에 해결된 심볼릭 링크를 표시한다는 점에서 유사(동일하지 않은 경우) realpath 및 readlink 명령의 기본 사항에 대해 설명합니다. 그러나 그렇게 하기 전에 여기에 있는 모든 예제가 Ubuntu 18.04 LTS 및 Debian 10에서 테스트되었음을 언급할 가치가 있습니다.

Linux realpath 및 readlink 명령

처음에 이미 언급했듯이 realpath 및 readlink 명령은 출력에 symlink에 대해 해결된 경로를 표시합니다.

다음은 구문입니다.

realpath [OPTION]... FILE...
readlink [OPTION]... FILE...

그리고 각 매뉴얼 페이지의 내용은 다음과 같습니다.

Print the resolved absolute file name
print resolved symbolic links or canonical file names

다음은 이러한 도구의 작동 방식에 대한 더 나은 아이디어를 제공하는 몇 가지 Q&A 스타일의 예입니다.

Q1. realpath 및 readlink를 사용하여 경로를 확인하는 방법은 무엇입니까?

간단합니다. 파일이나 경로를 입력으로 제공하기만 하면 됩니다. 다음 예에서는 기호 링크를 확인하는 두 명령을 모두 보여줍니다.

경로 작업 방법은 다음과 같습니다.

따라서 두 가지 경우에서 두 명령이 성공적으로 심볼릭 링크를 해결한 것을 볼 수 있습니다.

Q2. 디렉토리를 기준으로 확인된 경로를 인쇄하는 방법은 무엇입니까?

realpath 명령을 사용하면 이 작업을 쉽게 수행할 수 있습니다. 예를 들어 다음과 같이 하려고 한다고 가정합니다.

realpath /var/local/Downloadslink

그러나 추가 요구 사항은 이 명령의 출력이 /home/himanshu 디렉토리에 상대적이어야 한다는 것입니다. 그런 다음 실행해야 하는 명령은 다음과 같습니다.

realpath /var/local/Downloadslink --relative-to=/home/himanshu

결과는 다음과 같습니다.

Downloads

따라서 --relative-to 옵션을 사용하면 /home/himanshu 디렉토리에 상대적인 출력을 얻을 수 있음을 알 수 있습니다.

Q3. 경로에서 ..를 제거하는 방법은 무엇입니까?

심볼릭 링크를 확장/해결하는 것이 목표가 아니라 경로에서 ..를 제거하는 경우가 있을 수 있습니다. realpath 명령을 사용하면 이 작업을 수행할 수 있습니다.

-s 명령줄 옵션을 사용하기만 하면 됩니다. 예를 들면 다음과 같습니다.

realpath -s ../../var/local/Downloadslink

다음은 이 명령의 출력입니다.

/var/local/Downloadslink

Q4. 구분 문자를 변경하는 방법은 무엇입니까?

기본적으로 개행 문자가 구분 문자로 사용됩니다. 그러나 두 명령 모두 대신 NUL을 구분 기호로 사용하는 방법을 제공합니다.

두 경우 모두 사용해야 하는 옵션은 -z입니다.

realpath -z [FILE/PATH]
readlink -z [FILE/PATH]

결론

여기서 논의한 내용은 이러한 명령이 제공하는 몇 가지 옵션/기능에 불과합니다. 이러한 연습을 마치면 readlink 및 realpath 매뉴얼 페이지(여기)로 이동하여 이러한 도구에 대해 자세히 알아보세요.