readlink
심볼릭 링크가 연결되어 있는 원본 파일을 찾는 명령어이다.
readlink
는 심볼릭 링크인 path가 가르키는 원본의 파일 이름을 리턴한다. 알아낸 원본 파일의 이름은 buffer에 저장된다.
bufsize는 buffer의 저장 크기이며 만약 buffer의 크기가 원본 파일의 이름을 담기에 충분하지 않다면 나머지 부분은 잘리게 된다.
readlink
는 원본 파일의 완전한 경로를 가져온다.
사용법
$ readlink -{Option} File
예시
"/home/jaehyo/setup/01_aws_setup/utilities/bin" 경로에 setup.sh 파일이 있다. 해당 파일을 ln
명령을 사용하여 ~/ln-setup.sh로 심볼릭 파일을 생성해보자.
$ ln -s /home/jaehyo/setup/01_aws_setup/utilities/bin/setup.sh ~/ln-setup.sh
ㅣn-setup.sh 심볼릭 파일의 원본 파일을 찾아보자.
$ readlink -f ~/ln-setup.sh
/home/jaehyo/setup/01_aws_setup/utilities/bin/setup.sh
옵션
옵션 | 설명 |
---|---|
-f ,--canonicalize |
주어진 이름의 모든 구성 요소에 있는 모든 심볼릭 링크를 따라가면서 정규화 함. 마지막 구성 요소를 제외하고 모두 존재해야함. |
-e ,--canonicalize-existing |
주어진 이름의 모든 구성 요소에 있는 모든 심볼릭 링크를 따라가며 정규화 한다. 마지막 구성 요소를 제외하고 모두 존재해야한다. |
-m ,--canonicalize-missing |
구성 요소 존재에 대한 요구 사항없이 주어진 이름의 모든 구성 요소에 있는 모든 심볼릭 링크를 따라 정규화한다. |
반환 값
성공할 경우 Buffer에 들어 있는 문자의 갯수가 반환되며 에러가 발생했다면 -1 Return되며 적당한 Error 코드가 설정된다.
$ readlink ./error.file
$ echo ${?}
1
$ readlink ./success.file
$ echo ${?}
0